获取每天几小时之间的最小值

时间:2019-06-18 13:28:34

标签: python pandas

我有一个熊猫时间序列数据帧,其中有一个长时间段中一天中每个小时的值,就像这样:

                     value
datetime                  
2018-01-01 00:00:00     38
2018-01-01 01:00:00     31
2018-01-01 02:00:00     78
2018-01-01 03:00:00     82
2018-01-01 04:00:00     83
2018-01-01 05:00:00     95
...

我想创建一个新的数据框,其每天的小时数为01:00-04:00,但无法弄清楚该怎么做。我能想到的最接近的是:

df2 = df.groupby([pd.Grouper(freq='d'), df.between_time('01:00', '04:00')]).min())) 

但这给了我

  

ValueError:“不是一维的”分组器

1 个答案:

答案 0 :(得分:2)

DataFrame.between_timeDataFrame.resample一起使用:

df = df.between_time('01:00', '04:00').resample('d').min()
print (df)
            value
datetime         
2018-01-01     31

您的解决方案非常接近,只是链的功能不同:

df = df.between_time('01:00', '04:00').groupby(pd.Grouper(freq='d')).min()
print (df)
            value
datetime         
2018-01-01     31