Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中,如何通过特定的日期时间索引值来子集数据帧?_Python_Pandas_Time Series_Dataframe - Fatal编程技术网

在Python中,如何通过特定的日期时间索引值来子集数据帧?

在Python中,如何通过特定的日期时间索引值来子集数据帧?,python,pandas,time-series,dataframe,Python,Pandas,Time Series,Dataframe,我有一个多天的数据帧,看起来像这样……连续的行,间隔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 1

我有一个多天的数据帧,看起来像这样……连续的行,间隔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,) 
屈服

                      0
2000-01-01 09:30:00  19
2000-01-01 11:30:00  23
2000-01-01 13:00:00  26
2000-01-01 16:00:00  32
2000-01-02 09:30:00  67
2000-01-02 11:30:00  71
2000-01-02 13:00:00  74
2000-01-02 16:00:00  80

不,我没有。我在我的
df
上尝试了你的代码,效果很好…:/我会在每对
((hour==X)和(minutes=Y))周围加上一组括号,但我认为这实际上不会改变结果。形状
(96310,)
(16500,)
对你有什么意义吗?这可能是一个线索。。。一个可能是df的长度,但另一个是什么?如果您打印出
selector
的形状或
selector
的位和块,并找到变形的结果,您将找到错误。
                      0
2000-01-01 09:30:00  19
2000-01-01 11:30:00  23
2000-01-01 13:00:00  26
2000-01-01 16:00:00  32
2000-01-02 09:30:00  67
2000-01-02 11:30:00  71
2000-01-02 13:00:00  74
2000-01-02 16:00:00  80