基于小时的pandas分组以获取日内波动性
我有一个数据框,里面记录了三个地方的每小时降雨量的时间序列。数据的开头和结尾显示了具体的内容,如下所示。为了理解降水的日变化,我想把所有天和所有年的每小时数据放在一起。
hourly_series.head()
loc1_data loc2_data loc3_data
2013-10-01 05:30:00+00:00 0.5 1 1
2013-10-01 06:30:00+00:00 NaN NaN NaN
2013-10-01 07:30:00+00:00 NaN NaN NaN
2013-10-01 08:30:00+00:00 0 0 0
2013-10-01 09:30:00+00:00 NaN NaN NaN
[5 rows x 3 columns]
hourly_series.tail()
loc1_data loc2_data loc3_data
2014-01-01 00:30:00+00:00 7.5 1 5
2014-01-01 01:30:00+00:00 0 0 0
2014-01-01 02:30:00+00:00 0 2 0
2014-01-01 03:30:00+00:00 0 4.5 0
2014-01-01 04:30:00+00:00 1 0 0
我尝试过
hourly_grouped = hourly_series.groupby([(lambda x:x.year,lambda x:x.month, lambda x: x.time)])
但是,我没有得到想要的结果。我对pandas这个工具还不太熟悉。
1 个回答
2
你是在找这个吗?
hourly_series['hour'] = hourly_series.index
hourly_series['hour'] = hourly_series['hour'].apply(lambda x: x.hour)
hourly_series.groupby(['hour']).var() # Or any other stats function