gpt4 book ai didi

python - 如何在 Pandas 中过滤小时间隔(仅小时)的日期时间列

转载 作者:行者123 更新时间:2023-12-05 03:57:55 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

datetimecolumn      valuecolumn
2017-01-03 01:00 17
2017-01-04 02:55 4
2017-01-04 05:55 4
2017-01-04 12:55 9
2017-01-04 16:55 88
2017-01-05 17:53 1
2017-01-06 10:22 74
2017-01-06 15:22 111

现在我只需要时间在 12:00 到 18:00 之间的行。那将是:

datetimecolumn      valuecolumn
2017-01-04 12:55 9
2017-01-04 16:55 88
2017-01-05 17:53 1
2017-01-06 15:22 111

我如何应用该过滤器?

最佳答案

我假设您不想更改列 datetimecolumn 格式,因此将其转换为 datetime 并分配给 s。从其 floor('D') 中减去 s 以仅获取时间部分并将它们与 between 进行比较以创建 bool 掩码 m 。最后,使用 m

df 进行切片
s = pd.to_datetime(df.datetimecolumn)
m = (s - s.dt.floor('D')).between(pd.Timedelta('12:00:00'), pd.Timedelta('18:00:00'))

df.loc[m]

Out[190]:
datetimecolumn valuecolumn
3 2017-01-04 12:55 9
4 2017-01-04 16:55 88
5 2017-01-05 17:53 1
7 2017-01-06 15:22 111

关于python - 如何在 Pandas 中过滤小时间隔(仅小时)的日期时间列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58312818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com