How to iterate through pandas-datareader and create multiple dataframes for each stock ticker?

How to iterate through pandas-datareader and create multiple dataframes for each stock ticker?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

Member

by andy , a month ago

@jaylin.bartell 

To iterate through pandas-datareader and create multiple dataframes for each stock ticker, you can use a loop to fetch data for multiple tickers and store them in individual dataframes. Here's an example code:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import pandas as pd
import pandas_datareader.data as web

tickers = ['AAPL', 'GOOGL', 'MSFT']  # list of stock tickers

dfs = {}  # empty dictionary to store dataframes

for ticker in tickers:
    try:
        # Fetch data using pandas-datareader
        data = web.DataReader(ticker, 'yahoo', start='2021-01-01', end='2021-12-31')
        # Create a dataframe for the ticker
        dfs[ticker] = data
    except Exception as e:
        print(f"Error retrieving data for {ticker}: {str(e)}")

# Access individual dataframes by ticker key
for ticker, df in dfs.items():
    print(f"Data for {ticker}:")
    print(df.head())  # printing first 5 rows as an example
    print('
')


In this code, tickers is a list of stock symbols or tickers for which you want to fetch the data. You can modify this list to include your desired tickers.


The loop iterates through each ticker, fetches the financial data using pandas-datareader's DataReader function, and stores it in a dictionary called dfs, with the ticker symbol as the key and the dataframe as the value.


You can then access the individual dataframes by iterating through the dfs dictionary using .items() method. In the example, it will print the first 5 rows of each dataframe.


Note that this code fetches data from Yahoo Finance. Make sure you have the necessary dependencies installed (pandas, pandas-datareader) and an internet connection to access the data source.