Pandas:按另一列分组计算一列的平均值

3

假设我有一个如下所示的数据框:

            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

我该如何计算按列 C 分组的 height 列均值? 这将得到三个不同的值: C=1 的高度平均值,C=2 的高度平均值等等。
到目前为止,我尝试了这个方法,但没有成功: df.groupby('C')['height'].mean() -> 返回 TypeError: mean() got an unexpected keyword argument 'groupby'

1
你需要的是 df.groupby('C')['height'].mean() 吗? - EdChum
是的。如果您愿意,您可以将其作为答案让其他人知道。 - FaCoffee
1个回答

3
您的语法有误,mean没有groupby参数,您需要在感兴趣的列上使用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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接