熊猫的计数和返回均值

时间:2018-06-27 13:14:12

标签: python pandas

我正在处理Titanic Kaggle问题。

我正在尝试针对我的数据集在同一查询中返回计数和总和。我知道我必须在查询中的某个地方使用.agg函数,但是我无法弄清楚在哪里。

SexI是与乘客性别相关的列,而AgeCat是我为了更好地传达年龄数据而创建的列:

df[['AgeCat', 'SexI', 'PropSurvive']].groupby(['SexI','AgeCat'], as_index=False).agg(['mean', 'count']).sort_values(by=['SexI','AgeCat'], ascending=True)

因此,在此查询中,当我将agg(['mean', 'count'])替换为.mean时,返回的是我想要的那种,这就是我要分析的不同组的生存时间的平均值。当我用.count替换时,它返回一个计数。

但是我无法让它们都返回同一查询。现在,它给了我一个KeyError:'SexI',但我真的不知道如何。

顺便说一句,这类似于您要select count(ROW) & mean(ROW)进行的SQL查询吗?

1 个答案:

答案 0 :(得分:1)

我认为需要reset_index并在PropSurvive之后添加列groupby来列出:

(df.groupby(['SexI','AgeCat'])['PropSurvive']
   .agg(['mean', 'count'])
   .reset_index() 
   .sort_values(by=['SexI','AgeCat'], ascending=True))