python - 使用pandas,如何批量计算csv数据的平均值?
问题描述
为这个问题添加更多内容。
我们想从批量读取的 csv 文件中计算数据帧的平均值。但有时,我们可能会在某些批次中错过一两行。
输入:每组总是以 A 开头。第三批中缺少 C。
A,1
B,2
B,1
C,2
A,1
B,3
B,1
A,1
B,2
B,1
C,3
输出:打印 col2 的平均值并计算
A, average(1,1,1), 3
B, average(2,3,2), 3
B, average(1,1,1), 3
C, average(1,,3), 2
解决方案
假设您的数据在df
数据框中
df['gp'] = df.groupby([df[0].eq('A').cumsum(), 0]).cumcount()
final = df.groupby([0, 'gp'])[1].agg(['mean','count'])
#OUTPUT
mean count
0 gp
A 0 1.000000 3
B 0 2.333333 3
1 1.000000 3
C 0 2.500000 2
推荐阅读
- c# - C# .Net Core 将 DataSet 作为 ArrayOfXElement 发送到 asmx wcf Web 服务
- python - 如何“将文本居中” tkinter treeview
- vb.net - 有没有办法将按钮添加到具有用户定义名称的表单中,然后还为所述按钮生成处理程序
- jwt - 如何将索赔和到期时间传递给 JWE?
- postgresql - PostgreSQL 多列索引,包括数组
- python - Tkinter将键盘键绑定到python中的按钮命令
- c++ - 如何将柯南配置为不链接所有可能的内容?
- java - JLabel 不会在 Thread.sleep()/this.wait() 之前更改其图标属性
- c# - 在 VB.NET / C# 中绘制一个简单的图形
- r - 如何更改列名?