首页 > 解决方案 > 如何在 Python 中自定义在此 DataFrame 上完成的此 .groupby 操作的输出?

问题描述

我正在使用 DataFrame 通过计算一列中的三种类型的值来创建频率分布。在这个例子中,我计算并显示了每个人的“个人状态”。当我执行代码时,所有其他列都显示为每列中重复的计数。我希望每个值的计数显示一次而没有列标题。我需要做什么才能做到这一点?

creditData.groupby(['Personal_Status']).count()

这是我的输出图像: 当前输出

编辑:这是我希望输出的样子:Desired Output

标签: pythonpandasdataframeoutputpandas-groupby

解决方案


文档中建议使用Named aggregation

import pandas as pd
animals = pd.DataFrame(
     {
         "kind": ["cat", "dog", "cat", "dog"],
         "height": [9.1, 6.0, 9.5, 34.0],
         "weight": [7.9, 7.5, 9.9, 198.0],
     }
 )

animals.groupby('kind').agg(**{
    '':('height','count')
})

这会让你

kind    
cat 2
dog 2

供参考https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html(搜索命名聚合)


推荐阅读