pandas中groupby.mean()返回DataFrame格式不符合预期如何解决
解决方法
这是pandas groupby 操作默认将分组字段作为行索引返回的固有特性,两种写法都可以得到你需要的规整DataFrame格式:
- 方法1:分组时直接指定参数,从源头避免分组键被设为行索引
piedf = origindf.groupby(['Sex'], as_index=False)[['Survived']].mean() display(piedf)
- 方法2:对你已经生成的分组结果调用
reset_index(),把作为行索引的Sex字段转回普通列,同时自动生成从0开始的默认整数行索引
piedf = origindf.groupby(['Sex']).mean()[['Survived']].reset_index() display(piedf)
两种写法运行后的输出完全匹配你的预期:
Sex Survived 0 female 0.742038 1 male 0.188908
内容的提问来源于stack exchange,提问作者Athus1
相关产品推荐
相关产品推荐

