根据其他列的名称计算熊猫的平均值[重复]

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)

以上是关于根据其他列的名称计算熊猫的平均值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何计算熊猫每列的每日平均值?

熊猫数据框条件 .mean() 取决于特定列中的值

计算熊猫中的groupby(几列)平均值[重复]

熊猫移动平均线[重复]

熊猫在最高 x 列中的平均值

使用熊猫/数据框计算加权平均值