首页 > 解决方案 > 前天查询pandas怎么办

问题描述

这是我的数据集

No. timestamp                    letter
1   2018-07-07 00:15:52          A
2   2018-07-07 09:55:34          A
3   2018-07-07 14:13:32          A
4   2018-07-08 02:22:51          A
5   2018-07-08 13:15:52          A
6   2018-07-08 18:52:43          A
7   2018-07-09 01:05:52          A
8   2018-07-09 09:15:52          A

我想删除此数据中最后 24 小时的延迟时间戳,这是任何东西2018-07-08 09:15:52(最新时间戳前 24 小时),所以问题是

No. timestamp                    letter
1   2018-07-07 00:15:52          A
2   2018-07-07 09:55:34          A
3   2018-07-07 14:13:32          A
4   2018-07-08 02:22:51          A

假设我怎么做

标签: pythonpandasdatetimedataframetimestamp

解决方案


使用boolean indexing从最后/最大日期时间减去 1 天:

df = df[df['timestamp'] < df['timestamp'].iloc[-1] - pd.Timedelta(1, unit='d')]

或者:

df = df[df['timestamp'] < df['timestamp'].max() - pd.Timedelta(1, unit='d')]

print (df)
   No.           timestamp letter
0    1 2018-07-07 00:15:52      A
1    2 2018-07-07 09:55:34      A
2    3 2018-07-07 14:13:32      A
3    4 2018-07-08 02:22:51      A

推荐阅读