python - Pandas DataFrame:计算一列中与第二列内容相同的那些行的平均值?
问题描述
我想问一下是否可以按照我需要的方式计算 pandas DataFrame 中的平均值:
我的数据框看起来像这样:
import pandas as pd
df = pd.DataFrame({'rmsf': [1, 4, 7, 1, 5, 6, 4],
'residue': [2, 2, 2, 3, 3, 3, 3]})
df
结果:
rmsf residue
0 1 2
1 4 2
2 7 2
3 1 3
4 5 3
5 6 3
6 4 3
现在我想计算“rmsf”值的平均值,但只计算那些属于相同“残基”的值。所以,我需要残数 2 的平均值,因此只需要计算“rmsf”列(1,4 和 7)的前三行的平均值。然后对于残数 3,我需要根据值 1、5、6 和 4 等计算平均值。新的平均值将存储在一个新的数据框中,如下所示:
rmsf residue
0 4 2
1 8.5 3
有没有一种方法可以让熊猫做到这一点?仅计算一列中第二列中具有相同残基数的那些行的平均值?
谢谢你。
解决方案
按哪一列分组没有区别
试试这个,但之后不要忘记移动列
df.groupby('residue')['rmsf'].mean().reset_index()
推荐阅读
- c# - 依赖注入 (DI) 是否只传输依赖问题?
- javascript - 如何使用 jquery 禁用 div 中的所有元素
- html - 将表格列宽设置为内容大小?或者设置一个特定的宽度px?
- mongodb - 如何动态创建架构来存储文件夹结构?
- java - 为什么作为参数传递的 lambdas 不能在内部重新定义变量
- spring-mvc - 如何使用jstl绑定spring MVC中的列表列表?
- javascript - 在 Three.js 演示中无法通过触摸选择超链接
- icinga2 - 跨多个变量创建 icinga2 Apply For 规则
- c++ - 了解函数循环中发生的事情
- python - 为什么如果块不通过?