python - 有没有办法逐步计算列的数据框的平均值?
问题描述
有没有办法逐步计算 df 列的平均值。例如,我有一个名为 data 的 df,有 50 行,我想创建一个图,显示 y 轴上的平均值和 x 轴上的样本数。所以我需要知道我列中第一个值的平均值,然后是我列中前两个值的平均值,依此类推。试图用 lamda 表达式来做,但失败了。
任何人的想法?
解决方案
IIUC,您可以使用expanding
和mean
累计计算平均值:
例子
data = pd.DataFrame({'col1': np.arange(1, 50)})
data['cumulative_mean'] = data['col1'].expanding().mean()
[出去]
col1 cumulative_mean
0 1 1.0
1 2 1.5
2 3 2.0
3 4 2.5
4 5 3.0
.. ... ...
44 45 23.0
45 46 23.5
46 47 24.0
47 48 24.5
48 49 25.0
[49 rows x 2 columns]
要绘图,您可以使用:
data.index += 1
data['cumulative_mean'].plot()
推荐阅读
- java - java中的回文整数
- c# - Azure 表:如何编写范围查询来过滤分区键
- join - AWS Athena 的一个查询中是否有可能的连接路径?
- javascript - 当我在 Javascript 中将变量设置为 0 时页面不加载
- scala - 如何基于一个公共字段加入两个 rdds?
- react-native - ~/zshrc: 权限被拒绝
- javascript - $.get data 打印发送者的源代码
- python-3.x - 如何将代码复制到禁用复制和粘贴的在线 IDE?
- c# - 如何让我的动画状态管理器在统一 C# 中工作?
- flutter - beacon_broadcast颤振包中的错误代码2是什么意思?