大熊猫获得列平均值/平均值

Pep*_*zza 119 python pandas

我无法得到大熊猫中一列的平均值或平均值.A有一个数据帧.我在下面尝试的任何事情都没有给出列的平均值weight

>>> allDF 
         ID           birthyear  weight
0        619040       1962       0.1231231
1        600161       1963       0.981742
2      25602033       1963       1.3123124     
3        624870       1987       0.94212
Run Code Online (Sandbox Code Playgroud)

以下返回多个值,而不是一个:

allDF[['weight']].mean(axis=1)
Run Code Online (Sandbox Code Playgroud)

这样做:

allDF.groupby('weight').mean()
Run Code Online (Sandbox Code Playgroud)

DSM*_*DSM 199

如果您只想要weight列的平均值,请选择列(系列)并调用.mean():

In [479]: df
Out[479]: 
         ID  birthyear    weight
0    619040       1962  0.123123
1    600161       1963  0.981742
2  25602033       1963  1.312312
3    624870       1987  0.942120

In [480]: df["weight"].mean()
Out[480]: 0.83982437500000007
Run Code Online (Sandbox Code Playgroud)

  • 如果我想获得每一列的平均值怎么办? (4认同)
  • @Chris df.describe() (3认同)
  • @Chris df.mean() 为您提供每列的权重并按系列返回。 (3认同)

小智 14

尝试df.mean(axis = 0),axis = 0参数计算数据帧的列方式,因此结果将是

axis = 1是行方式,因此您将获得多个值


nai*_*ter 11

试着试一试print (df.describe()).我希望对您的数据框进行全面描述会非常有帮助.

  • `display(df.describe())` 更好(在 Jupyter Notebooks 中),因为 ipython 中的 `display` 提供格式化的 HTML 而不是 ASCII,这在视觉上更有用/更令人愉悦。 (5认同)

小智 10

您可以使用

df.describe() 
Run Code Online (Sandbox Code Playgroud)

您将获得数据框的基本统计信息并获得您可以使用的特定列的平均值

df["columnname"].mean()
Run Code Online (Sandbox Code Playgroud)

  • 这是上述答案的重复。 (3认同)

Nik*_*ris 9

您还可以使用点表示法(也称为属性访问)访问列,然后计算其平均值:

df.your_column_name.mean()
Run Code Online (Sandbox Code Playgroud)


Har*_*vey 9

中每列的平均值 df

    A   B   C
0   5   3   8
1   5   3   9
2   8   4   9

df.mean()

A    6.000000
B    3.333333
C    8.666667
dtype: float64
Run Code Online (Sandbox Code Playgroud)

如果你想要所有列的平均值:

df.stack().mean()
6.0
Run Code Online (Sandbox Code Playgroud)


dav*_*lla 6

您可以使用以下两个语句之一:

numpy.mean(df['col_name'])
# or
df['col_name'].mean()
Run Code Online (Sandbox Code Playgroud)