【发布时间】:2018-08-27 09:10:31
【问题描述】:
我有一个如下所示的数据框:
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
索引是日期时间并且有列记录每小时的降雨量(单位:毫米),我想计算“平均湿期持续时间”,这意味着 一天中存在值(非零)的连续小时的平均值,因此计算为
2 + 4 + 1 + 1 + 2 + 5 / 6 (events) = 2.5 (hr)
和“平均湿法术量”,即一天中连续几个小时的数值总和的平均值。
{ (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只是一个例子,我有更长的时间序列(例如超过一年)的dataframe,我怎样才能编写一个函数来更好地计算上面提到的两个值?提前致谢!
附:这些值可能是 NaN,我想忽略它。
【问题讨论】:
-
你想要的输出应该是什么样的?
-
@R.p.T 只有两个值,一个是持续时间 (hr) (float),一个是量 (mm) (float)
-
您想查找一天或某个小时范围或一周内的平均
rainfall value还是什么? -
我想求持续时间,所以是一天中每个连续小时的平均值
-
平均金额是一天中每个连续小时的值之和的平均值
标签: python pandas dataframe time-series