我的数据帧在给定的一天和一年中的许多天都有许多时间戳。我想提取当天的最后一次读数,并将其存储在一个新的数据帧中。
df =
datetime A
01/24/2019 08:27:00 AM 0.905434
01/24/2019 08:28:00 AM 0.913460
01/24/2019 08:29:00 AM 0.926724
01/25/2019 08:30:00 AM 0.937575
01/25/2019 08:31:00 AM 0.946422
01/25/2019 08:32:00 AM 0.951792
01/26/2019 08:33:00 AM 0.957930
01/26/2019 08:34:00 AM 0.963631
01/26/2019 08:35:00 AM 0.968414
01/26/2019 08:36:00 AM 0.972460
我的代码:
aux = []
for i in df.index.strftime("%Y-%m-%d").unique():
auxdf = df.loc[i]
aux.append(auxdf.iloc[-1])
它不起作用。
您可以使用groupby().last()
:
df.groupby(df.index.normalize()).last()
输出:
A
datetime
2019-01-24 0.926724
2019-01-25 0.951792
2019-01-26 0.972460
或groupby().tail()
:
df.groupby(df.index.normalize()).tail(1)
输出:
A
datetime
2019-01-24 08:29:00 0.926724
2019-01-25 08:32:00 0.951792
2019-01-26 08:36:00 0.972460