【问题标题】:Pandas groupby => AttributeError: 'function' object has no attribute 'mean'Pandas groupby => AttributeError:'function'对象没有属性'mean'
【发布时间】:2021-01-12 16:03:39
【问题描述】:

我尝试计算由男性和女性组成的人口的平均规模:

>>> import pandas as pd
>>> df = pd.DataFrame([[175 , 'male' ], [181 , 'male' ], [165 , 'female' ], [179 , 'male' ], [156 , 'female' ]], columns=['size', 'sex'])
>>> df.head()

    size    sex
0   175     male
1   181     male
2   165     female
3   179     male
4   156     female

我想使用 Pandas groupby 方法来计算平均值。因此,以下命令返回错误:

>>> df.groupby('sex').size.mean()
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-17-a31e7f02b69d> in <module>()
----> 1 df.groupby('sex').size.mean()

AttributeError: 'function' object has no attribute 'mean'

【问题讨论】:

    标签: python-3.x pandas dataframe pandas-groupby


    【解决方案1】:

    .size 是一个 DataFrameGroupBy 函数,因此优先使用点表示法 (.size)。这就是为什么访问列更安全的方法是使用括号['size']

    df.groupby('sex')['size'].mean()
    
    sex
    female    160.500000
    male      178.333333
    Name: size, dtype: float64
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-10
      • 2022-01-26
      • 2019-05-17
      • 2017-07-04
      • 2014-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多