我的数据如下所示,它是基于分钟的数据,为期两年。
我想访问工作日结束到下一个开始之间的所有数据行。我的数据框中所有天在 2018-04-02 18:00:00 2018-04-03 05:00:00 之间的示例。请帮助
答案 0 :(得分:1)
一种方法是根据datetime列或索引上的条件进行布尔索引。假设您的DataFrame名为df
,并且它的DatetimeIndex等于您发布的示例数据,请尝试以下操作:
df[(df.index.hour >= 18) | (df.index.hour <= 5)]
答案 1 :(得分:1)
如果您使用DatetimeIndex
,则可以使用.between_time
import pandas as pd
df = pd.DataFrame({'date': pd.date_range('2017-04-02', freq='90min', periods=100)})
df = df.set_index('date')
df.between_time('18:00', '5:00')
#date
#2017-04-02 00:00:00
#2017-04-02 01:30:00
#2017-04-02 03:00:00
#2017-04-02 04:30:00
#2017-04-02 18:00:00
#2017-04-02 19:30:00
#2017-04-02 21:00:00
#2017-04-02 22:30:00
#....