我有一个如下所示的数据帧:
index value
2003-01-01 00:00:00 14.5
2003-01-01 01:00:00 15.8
2003-01-01 02:00:00 0
2003-01-01 03:00:00 0
2003-01-01 04:00:00 13.6
2003-01-01 05:00:00 4.3
2003-01-01 06:00:00 13.7
2003-01-01 07:00:00 14.4
2003-01-01 08:00:00 0
2003-01-01 09:00:00 0
2003-01-01 10:00:00 0
2003-01-01 11:00:00 17.2
2003-01-01 12:00:00 0
2003-01-01 13:00:00 5.3
2003-01-01 14:00:00 0
2003-01-01 15:00:00 2.0
2003-01-01 16:00:00 4.0
2003-01-01 17:00:00 0
2003-01-01 18:00:00 0
2003-01-01 19:00:00 3.9
2003-01-01 20:00:00 7.2
2003-01-01 21:00:00 1.0
2003-01-01 22:00:00 1.0
2003-01-01 23:00:00 10.0
索引是日期时间,并有列记录降雨量值(单位:mm)在每小时,我想计算“平均湿期持续时间”,这意味着 一天中存在值(不是零)的连续小时数的平均值,因此计算
^{pr2}$“平均湿期量”是指一天中连续几个小时的数值总和的平均值。在
{ (14.5 + 15.8) + ( 13.6 + 4.3 + 13.7 + 14.4 ) + (17.2) + (5.3) + (2 + 4)+ (3.9 + 7.2 + 1 + 1 + 10) } / 6 (events) = 21.32 (mm)
上面的datafame只是一个例子,我有更长的时间序列的数据帧(比如超过一年),我如何编写一个函数,以便它可以更好地计算上述两个值?提前谢谢!在
注:值可能是NaN,我想忽略它。在
我不太清楚你要什么。但是,我想你要的是
resample()
。如果我误解了你的问题,请纠正我。在从Creating pandas dataframe with datetime index and random values in column开始,我创建了一个随机时间序列数据帧。在
查看数据帧
^{pr2}$现在,重新采样数据帧
^{3}$它给了你
类似地,你可以重新取样到天,小时,分钟等我留给你。你可能需要看看
我相信这就是你要找的。我为每一步的代码添加了解释。在
结果
^{pr2}$相关问题 更多 >
编程相关推荐