【发布时间】:2015-01-07 10:56:02
【问题描述】:
我有很多天的数据框,看起来像这样......每隔 30 分钟的连续行:
a b
2006-05-08 09:30:00 10 13
2006-05-08 10:00:00 11 12
.
.
.
2006-05-08 15:30:00 15 14
2006-05-08 16:00:00 16 15
但是,我只关心某些特定时间,所以我希望 df 的每一天看起来像:
2006-05-08 09:30:00 10 13
2006-05-08 11:30:00 14 15
2006-05-08 13:00:00 18 15
2006-05-08 16:00:00 16 15
意思是,我只想在数据框中的所有不同日子里不时保留行(16、13、11:30、9:30)。
谢谢
更新:
我取得了一些进步,使用
hour = df.index.hour
selector = ((hour == 16) | (hour == 13) | (hour == 11) | (hour == 9))
df = df[selector]
但是,我也需要考虑分钟数,所以我尝试了:
minute = df.index.minute
selector = ((hour == 16) & (minute == 0) | (hour == 3) & (minute == 0) | (hour == 9) & (minute == 30) | (hour == 12) & (minute == 0))
但我得到错误:
ValueError: operands could not be broadcast together with shapes (96310,) (16500,)
【问题讨论】:
标签: python pandas time-series dataframe