[英]Pandas: Selecting rows by time
我有一个具有以下结构的数据框:
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之间的行的数据框?
我们可以between
m=pd.to_timedelta(df.Hour).between('06:59:59','20:00:00')
df1=df[~m].copy()
有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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.