python - 如何对大于0的数据进行分组和平均?
问题描述
我每 5 分钟有一个包含传感器数据的巨大数据框。我在周数列中添加了。
我想按周总结阳光传感器列,但想平均温度列(if temp > 0
)。
ClimateDF.groupby('week').agg({'sunlight': 'sum', 'Temp': 'mean'})
这可行,但我将如何添加条件?例如只平均温度if temp > 0
等?
解决方案
您可以编写一个单独的函数,然后在聚合中使用它。
def my_func(x):
return x[x>0].mean()
ClimateDF.groupby('week').agg({'sunlight': 'sum', 'Temp': my_func})
SH-SF 已经提到了其他方法。这样做的好处是您可以根据需要调整复杂的功能和任意数量的功能。
推荐阅读
- java - 为什么 Period.between 没有按预期工作
- spring-boot - 如何启动多个启动应用程序进行端到端测试?
- spring - 更新的弹簧安全上下文在重定向会话中不可用
- python - 我不知道如何为我更改的 pong 代码添加碰撞到桨
- solr - Solr - 范围方面没有按预期工作
- safari - HTML 视频:由于 Safari 上缺乏 DASH/Webm-VP9 支持,是否可以回退到 HLS,或者如何在 DASH 上同时支持 Webm 和 H264?
- python - ObjectA.Signal.connect(ObjectB.Slot) 不工作。我的理解正确吗?
- java - drawText到位图Android的特定位置
- c# - SR中的ReadingLine,并使用索引-1访问最后一行
- python - 尝试运行 pyrouge 时出现“FileNotFoundError”