我无法得到熊猫列的平均值或平均值。A有一个数据框架。下面我尝试的两种方法都没有给出列权值的平均值

>>> allDF 
         ID           birthyear  weight
0        619040       1962       0.1231231
1        600161       1963       0.981742
2      25602033       1963       1.3123124     
3        624870       1987       0.94212

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

allDF[['weight']].mean(axis=1)

这个也一样:

allDF.groupby('weight').mean()

当前回答

如果你只想要权重列的平均值,选择该列(它是一个Series)并调用.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.loc[:, 'weight'].mean()
Out[480]: 0.83982437500000007

其他回答

尝试df.mean(axis=0), axis=0参数计算数据帧的列平均值,因此结果将是axis=1是行平均值,因此您将获得多个值。

你可以使用

df.describe() 

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

df["columnname"].mean()

你也可以使用点符号(也称为属性访问)访问一个列,然后计算它的平均值:

df.your_column_name.mean()

请注意,它首先需要是数值数据类型。

 import pandas as pd
 df['column'] = pd.to_numeric(df['column'], errors='coerce')

接下来,使用describe()找到一列或所有数字列的平均值。

df['column'].mean()
df.describe()

来自describe的结果示例:

          column 
count    62.000000 
mean     84.678548 
std     216.694615 
min      13.100000 
25%      27.012500 
50%      41.220000 
75%      70.817500 
max    1666.860000

你可以使用agg (aggregate)方法:

df.agg('mean')

可以应用多个统计数据:

df.agg(['mean', 'max', 'min'])