【发布时间】:2022-01-06 18:28:03
【问题描述】:
我正在尝试过滤我的 csv 文件中的数据,以仅显示时间介于当前时间和前 1 小时之间的条目。
仅过滤CreatedAt 和ID 的列后,数据如下所示:
CreatedAt ID
2021-11-26 09:36:05-08:00 99702
2021-11-26 07:21:36-08:00 645478
2021-11-25 09:34:00-08:00 204446
2021-11-25 00:19:08-08:00 394719
2021-11-24 23:08:15-08:00 769537
...
2016-01-22 12:16:28-08:00 278137
2016-01-22 10:55:31-08:00 374485
2016-01-22 09:55:22-08:00 807451
2016-01-21 12:23:36-08:00 346137
1969-12-31 16:00:01-08:00 883029
import pandas as pd
import datetime
df = pd.read_csv('file.csv', index_col='CreatedAt', parse_dates=['CreatedAt'])
sorted_df = df.sort_values(by=["CreatedAt"], ascending=False)
end_time= datetime.datetime.utcnow()
last_hour= end_time - datetime.timedelta(hours = 1)
filtered_dates = sorted_df.loc[last_hour]
print (filtered_dates)
当我打印filtered_dates 时,代码正确计算了两次之间的增量,但由于某种原因,它没有打印出我想要查看的全部数据。
任何帮助总是被感激的
【问题讨论】:
标签: python pandas csv datetime delta