Pandas:按tim选择行

2024-04-25 21:56:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个具有以下结构的数据帧:

Date       | Hour     | Duration 
2014-05-12 | 20:05:20 | 2.20
2014-05-12 | 20:06:20 | 4.20
2014-05-12 | 22:05:22 | 3.10
2014-05-12 | 08:05:20 | 7.10

如何创建另一个仅包含时间列中的值介于20:00:00和6:59:59之间的行的数据帧?你知道吗


Tags: 数据date时间结构durationhour
2条回答

between_time如果你愿意做一个DatetimeIndex。与between没有太大区别,但它适当地处理了24小时时钟。你知道吗

df.index = pd.to_datetime(df.Date + ' ' + df.Hour)
df.between_time('20:00:00', '6:59:59')

#                           Date      Hour  Duration
#2014-05-12 20:05:20  2014-05-12  20:05:20       2.2
#2014-05-12 20:06:20  2014-05-12  20:06:20       4.2
#2014-05-12 22:05:22  2014-05-12  22:05:22       3.1

我们可以使用between

m=pd.to_timedelta(df.Hour).between('06:59:59','20:00:00')
df1=df[~m].copy()

相关问题 更多 >