我有一个框架,df:
Date A B C
x 1 1 1
y 1 1 1
z 1 1 1
“日期”列是我的索引,所有时间戳都是随机时间到第二级。我想删除数据框中的所有行,除了最接近新小时开始的行。
例如,如果12/15/16 15:16:12是该日期15小时内最早的行,我希望删除时间戳大于该戳记的所有其他行。然后,我希望下一个小时重复该过程,依此类推。
这是否可以在熊猫中快速实现?
谢谢
答案 0 :(得分:2)
您可以在groupby
head
和sort_index
df.sort_index().groupby(df.index.strftime('%Y-%m-%d %H')).head(1)
Out[83]:
A
Date
2016-12-15 15:16:12 1
数据输入
df
Out[84]:
A
Date
2016-12-15 15:16:12 1
2016-12-15 15:19:12 1
2016-12-15 15:56:12 1