我有一个像这样的 python pandas 数据框:
a b
1 5
3 6
1 7
2 8
2 34
3 35
1 54
3 123
4 2353
... ....
当 a 具有不同的值时,我想得到 b 中值的平均值。 例如,当a = 1, b = 5, 7, 54,则均值(a=1) = (5 + 7 + 54)/3; 当a = 2, b = 8, 34, 所以均值(a=2) = (8 + 34)/2;
我的尝试是
aaa = []
for v in df['a']:
aaa.append(np.mean(df['b'])
print (aaa)
但这是不对的。希望您能够帮助我。谢谢!
最佳答案
您可以使用 groupby聚合:
df.groupby('a').b.mean()
#a
#1 22.000000
#2 21.000000
#3 54.666667
#4 2353.000000
#Name: b, dtype: float64
关于python: pandas: 过滤一列并获取另一列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41405180/