FutureWarning:不推荐使用 axis=1 的 DataFrame.groupby 。执行不带轴的 `frame.T.groupby(...)`

问题描述 投票:0回答:1

我一直使用这两行来获取股票数据:

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
而不导致错误?

python pandas axis
1个回答
0
投票

执行

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

...
© www.soinside.com 2019 - 2024. All rights reserved.