来自 yfinance 的最后实时蜡烛图
Last real-time candle from yfinance
当您从 yfinance 实时下载数据并且同时下载多个代码时,您经常会得到最后一个数据示例分成几行。
Open Volume
BARC.L BKG.L BARC.L BKG.L
Datetime
2021-11-11 08:05:19+00:00 NaN 4326.0 NaN 0.0
2021-11-11 08:07:10+00:00 194.539993 NaN 0.0 NaN
我不关心这些微小的时间差异,我只想要最后一行中每只股票的最后一个例子。
我一直在考虑对最后的示例进行分组,但我不确定如何。
请注意,我一次下载的股票数量可能会更多,可能是 10 个,这意味着它们可能会在 10 个单独的行中返回。
使用ffill
>>> df.ffill().iloc[[-1]]
Open Volume
BARC.L BKG.L BARC.L BKG.L
Datetime
2021-11-11 08:07:10+00:00 194.539993 4326.0 0.0 0.0
进一步:
>>> df.ffill(0).iloc[[-1]].stack(level=1) \
.reset_index().rename(columns={'level_1': 'Stock'})
Datetime Stock Open Volume
0 2021-11-11 08:07:10+00:00 BARC.L 194.539993 0.0
1 2021-11-11 08:07:10+00:00 BKG.L 4326.000000 0.0
当您从 yfinance 实时下载数据并且同时下载多个代码时,您经常会得到最后一个数据示例分成几行。
Open Volume
BARC.L BKG.L BARC.L BKG.L
Datetime
2021-11-11 08:05:19+00:00 NaN 4326.0 NaN 0.0
2021-11-11 08:07:10+00:00 194.539993 NaN 0.0 NaN
我不关心这些微小的时间差异,我只想要最后一行中每只股票的最后一个例子。
我一直在考虑对最后的示例进行分组,但我不确定如何。
请注意,我一次下载的股票数量可能会更多,可能是 10 个,这意味着它们可能会在 10 个单独的行中返回。
使用ffill
>>> df.ffill().iloc[[-1]]
Open Volume
BARC.L BKG.L BARC.L BKG.L
Datetime
2021-11-11 08:07:10+00:00 194.539993 4326.0 0.0 0.0
进一步:
>>> df.ffill(0).iloc[[-1]].stack(level=1) \
.reset_index().rename(columns={'level_1': 'Stock'})
Datetime Stock Open Volume
0 2021-11-11 08:07:10+00:00 BARC.L 194.539993 0.0
1 2021-11-11 08:07:10+00:00 BKG.L 4326.000000 0.0