根据其他列的名称计算熊猫的平均值[重复]
Posted
技术标签:
【中文标题】根据其他列的名称计算熊猫的平均值[重复]【英文标题】:Calculating average in panda depending on a name of a other column [duplicate] 【发布时间】:2020-04-09 09:47:43 【问题描述】:我有两列这样的。
name length
0 Pk 78
2 Pk 59
4 Pk 283
6 Ser 100
7 Ig_2 79
8 Ig_2 77
9 Ser 369
我想计算每个名字的平均值。 例如
Pk - 140
ser -234.5
Ig_2 -78
我如何用 python panda 做到这一点。
我正在尝试这个。
df.groupby(level=0).mean()
但是没有用。 无论如何要为此使用 rolling() 函数吗?
【问题讨论】:
你的名字是什么意思?请正确格式化您的数据。 @AlexanderCécile 对不起,这是一个错误。我已经格式化了数据df.groupby('name').mean()
另外,没有工作究竟是什么意思?您是否查看了文档以了解 level
参数的作用?
【参考方案1】:
In [1]: import pandas as pd
In [2]: df = pd.DataFrame([['pk', 78], ['pk', 59], ['Ig', 79], ['Ig', 77]], colu
...: mns=['name', 'length'])
In [3]: df
Out[3]:
name length
0 pk 78
1 pk 59
2 Ig 79
3 Ig 77
In [4]: df.groupby('name').mean()
Out[4]:
length
name
Ig 78.0
pk 68.5
按升序对值进行排序:
In [11]: df.groupby('name').mean().sort_values(by='length',
ascending=True)
Out[11]:
length
name
pk 68.5
Ig 78.0
【讨论】:
非常感谢。你能告诉我如何按升序排列吗?我的意思是答案df.groupby('name').mean().sort_values(by='length', ascending=True)
以上是关于根据其他列的名称计算熊猫的平均值[重复]的主要内容,如果未能解决你的问题,请参考以下文章