python - groupby pandas 数据框并获取每 X 秒的平均值 - Python
问题描述
有一个如下的数据框:
类别 | 时间(秒) |
---|---|
一个 | 1 |
乙 | 2 |
乙 | 3 |
乙 | 3 |
乙 | 4 |
乙 | 4 |
C | 5 |
C | 6 |
C | 7 |
C | 8 |
如何按此数据框分组并获得最后 X(例如 2)秒的平均值。输出应该是这样的:
类别 | 时间(秒) |
---|---|
一个 | 1 |
乙 | 4 |
C | 7.5 |
解决方案
groupby
与 一起使用tail
:
print (df.groupby("Category").apply(lambda d: d.tail(2).mean()))
Time (s)
Category
A 1.0
B 4.0
C 7.5
推荐阅读
- javascript - 如何在 Chart.JS 的半圆环图中间添加一些文本?
- windows - 尝试添加 Boost Process 时,cmake 无法打开文件 optimize.lib
- flowtype - 流程:为子类指定接口的正确方法是什么?
- tensorflow - Tensorflow 2.0:Optimizer.minimize('Adam' 对象没有属性'minimize')
- flutter - 更改文本小部件的值(不是 TextField)
- c - C中的foreach函数
- algorithm - 查找仅包含度数为 2 和 3 的节点的最大子图
- javascript - 后台连续调用函数
- javascript - 为什么 canvas.toDataURL() 和 context.drawRect(...) 类型错误:“不是函数”?
- java - 在netbeans中摆动输出很小