我无法得到大熊猫中一列的平均值或平均值。 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
以下内容返回多个值,而不是一个:
allDF[['weight']].mean(axis=1)
这样做:
allDF.groupby('weight').mean()
答案 0 :(得分:171)
如果您只想要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
答案 1 :(得分:8)
尝试df.mean(axis=0)
,axis=0
参数计算数据帧的列均值,因此结果将是axis=1
是行均值,因此您将获得多个值。
答案 2 :(得分:6)
尝试给print (df.describe())
一个机会。我希望对您的数据框进行全面描述会非常有帮助。
答案 3 :(得分:2)
您可以使用
df.describe()
您将获得数据框的基本统计信息,并可以使用
来获取特定列的均值df["columnname"].mean()
答案 4 :(得分:2)
另外,如果要在找到round
之后获得mean
的值。
#Create a DataFrame
df1 = {
'Subject':['semester1','semester2','semester3','semester4','semester1',
'semester2','semester3'],
'Score':[62.73,47.76,55.61,74.67,31.55,77.31,85.47]}
df1 = pd.DataFrame(df1,columns=['Subject','Score'])
rounded_mean = round(df1['Score'].mean()) # specified nothing as decimal place
print(rounded_mean) # 62
rounded_mean_decimal_0 = round(df1['Score'].mean(), 0) # specified decimal place as 0
print(rounded_mean_decimal_0) # 62.0
rounded_mean_decimal_1 = round(df1['Score'].mean(), 1) # specified decimal place as 1
print(rounded_mean_decimal_1) # 62.2
答案 5 :(得分:1)
您还可以使用点表示法访问列(也称为属性访问),然后计算其均值:
df.your_column_name.mean()
答案 6 :(得分:1)
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
,如果要获得所有列的平均值:
df.stack().mean()
6.0
答案 7 :(得分:0)
您可以使用以下两个语句之一
np.mean(df['col_name'])
df['col_name'].mean())
答案 8 :(得分:0)
You can easily followthe following code
`import pandas as pd
import numpy as np
classxii = {'Name':['Karan','Ishan','Aditya','Anant','Ronit'],
'Subject':['Accounts','Economics','Accounts','Economics','Accounts'],
'Score':[87,64,58,74,87],
'Grade':['A1','B2','C1','B1','A2']}
df = pd.DataFrame(classxii,index = ['a','b','c','d','e'],columns=['Name','Subject','Score','Grade'])
print(df)
#use the below for mean if you already have a dataframe
print('mean of score is:')
print(df[['Score']].mean())
答案 9 :(得分:0)
您可以简单地去: df.describe() 可以为您提供所需的所有相关详细信息,但要查找特定列的最小值,最大值或平均值(在本例中为“权重”),请使用:
df['weights'].mean(): For average value
df['weights'].max(): For maximum value
df['weights'].min(): For minimum value
答案 10 :(得分:0)
请注意,它首先必须是数字数据类型。
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
答案 11 :(得分:0)
为此,您只需要遵循以下语法:
df.['columnName'].mean()