当您实时从yfnance下载数据,同时下载多个股票行情器时,通常会得到分为几行的最后一个数据示例。
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