微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 熊猫计算每小时平均值

我有一个数据框,其中time是与数据集相关的浮点数:

 Time            Value
-47.88333         90
-46.883333        23
-45.900000        66
-45.883333        87
-45.383333        43

时间列的范围是-48到0.我想要做的是计算从-47.5到-.5的每半小时的平均值.例如:

-47.5将是介于-48和-47之间的所有值的平均值,-46.5将是介于-47和-46之间的所有值的平均值.如果没有价值,我想继续以前的平均值.

导致输出看起来像:

 Time            Value
-47.5             90
-46.5             23
-45.5             65.33
-44.5             65.33
-43.5             65.33

这是否需要是自定义函数,因为时间列不是日期时间对象?

解决方法:

您可以非常轻松地使用groupby执行此操作:

(df.groupby(df.Time.apply(lambda x: np.floor(x) + 0.5))
   .mean()
   .Value
   .reindex(np.arange(-47.5, -42.5))
   .ffill())

Time
-47.5    90.000000
-46.5    23.000000
-45.5    65.333333
-44.5    65.333333
-43.5    65.333333
Name: Value, dtype: float64

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐