[英]Pandas: compute the mean of a column grouped by another column
Say I have a dataframe like this: 说我有一个像这样的数据框:
gender height weight C
2000-01-01 male 42.849980 157.500553 1
2000-01-02 male 49.607315 177.340407 1
2000-01-03 male 56.293531 171.524640 1
2000-01-04 female 48.421077 144.251986 2
2000-01-05 male 46.556882 152.526206 2
2000-01-06 female 68.448851 168.272968 1
2000-01-07 male 70.757698 136.431469 2
2000-01-08 female 58.909500 176.499753 3
2000-01-09 female 76.435631 174.094104 3
2000-01-10 male 45.306120 177.540920 2
How could I compute the mean of the height
column, grouped by column C
? 如何计算按
C
列分组的height
列的平均值? This would yield 3 different values: the mean of those heights with C=1
, that of those with C=2
, and so forth. 这将产生3个不同的值:与高度的平均
C=1
,即那些具有C=2
,等等。
So far I tried this but to no avail: 到目前为止,我尝试了此操作,但无济于事:
df['height'].mean(groupby='C')
-> returns TypeError: mean() got an unexpected keyword argument 'groupby'
->返回
TypeError: mean() got an unexpected keyword argument 'groupby'
Your syntax is incorrect, there is no groupby
arg for mean
, you want to groupby
on the col of interest and then call mean
on the column of interest: 您的语法不正确,
mean
没有groupby
arg,您要对目标col进行groupby
,然后在目标列上调用mean
:
In [11]:
df.groupby('C')['height'].mean()
Out[11]:
C
1 54.299919
2 52.760444
3 67.672566
Name: height, dtype: float64
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.