python - 如何在 Python 中自定义在此 DataFrame 上完成的此 .groupby 操作的输出?
问题描述
我正在使用 DataFrame 通过计算一列中的三种类型的值来创建频率分布。在这个例子中,我计算并显示了每个人的“个人状态”。当我执行代码时,所有其他列都显示为每列中重复的计数。我希望每个值的计数显示一次而没有列标题。我需要做什么才能做到这一点?
creditData.groupby(['Personal_Status']).count()
这是我的输出图像: 当前输出
编辑:这是我希望输出的样子:Desired Output
解决方案
文档中建议使用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(搜索命名聚合)
推荐阅读
- bash - 通过交换文本重命名文件 - 在文件名的开头交换日期字符串
- mongodb - MongoDB:使用排序和组查询非常慢
- http - POST 请求适用于 Postman,但在 Retrofit 请求时得到 403
- oracle - 使用查询参数导入表
- python - 我想在 GC Datalab 中使用 pandas-plink 读取 plink 文件
- sql - SQL - 按子项(或外键)过滤
- python - 如何在 Keras 中实现包括 GAN 生成器的自定义损失函数?
- reactjs - 使用 Material UI 在复选框标签中显示图像和文本
- amazon-web-services - 在不丢失 AWS 上的域可用性的情况下分配弹性 IP
- gridview - Xamarin Visual Studio 2017 Gridview 与图像和文本视图