我一直使用这两行来获取股票数据:
df = yf.download(tickers, group_by="ticker")
d = {idx: gp.xs(idx, level=0, axis=1) for idx, gp in df.groupby(level=0, axis=1)}
来自 https://stackoverflow.com/a/66989947/21955590。
虽然它工作正常,但我不知道如何避免在标题中收到警告。
如何使用
df.T.groupby
重写此代码而不使用 axis=1
而不导致错误?
执行
df.T.groupby(...)
,然后转回:
import yfinance as yf
tickers = ["AAPL", "F"]
df = yf.download(tickers, group_by="ticker")
d = {idx: gp.T.xs(idx, level=0, axis=1) for idx, gp in df.T.groupby(level=0)}
print(d)
打印:
[ 0%% ]
[*********************100%%**********************] 2 of 2 completed
{'AAPL': Open High Low Close Adj Close Volume
Date
1972-06-01 NaN NaN NaN NaN NaN NaN
1972-06-02 NaN NaN NaN NaN NaN NaN
...