【发布时间】:2020-04-22 08:26:37
【问题描述】:
我有这个包含股票数据的DataFrame,我想对其进行迭代以为每个股票代码创建一个df(例如PETR4.SA)。我已经用groupby 和.get_group 手动完成了它,但我不知道如何用for 或def 完成它。现在的代码是:
import pandas as pd
import yfinance as yf
import pandas_datareader.data as pdr
yf.pdr_override()
tickers = ['PETR4.SA', 'FLRY3.SA', 'ODPV3.SA', 'CREM3.SA', 'BPHA3.SA']
acoes = pdr.get_data_yahoo(tickers)
# This line until the end is to transform the multiindex of tickers into a column
acoes.index.name = 'date'
long_form = acoes.reset_index().melt('date', var_name=['var','ticker'])
df = long_form.pivot_table(index=['date', 'ticker'], columns='var', values='value').reset_index()
# Grouping the df by tickers
grupos = DF.groupby('ticker')
grupos.groups # The groups are presented in dicts, don't know if this helps or not
【问题讨论】:
标签: python pandas loops dataframe data-science