在 Pandas 数据透视表中显示映射标签而不是代码

Posted

技术标签:

【中文标题】在 Pandas 数据透视表中显示映射标签而不是代码【英文标题】:Display mapped labels instead of codes in Pandas pivot table 【发布时间】:2018-08-22 09:11:01 【问题描述】:

将主要分类变量的数据集中的一些数据透视表放在 Pandas 中,这些变量完全以数字代码表示,并带有随附的代码簿/字典。

我希望显示类别标签而不是数字代码。我在其他地方或 Pandas 文档中找不到此问题的答案。

例如...

gender_dict = 1: "Male", 2: "Female"
df['gender'].map(gender_dict)

pd.pivot_table(df, values=['location'], index=['gender'], aggfunc=len)

...而不是表格中显示 1 和 2 的性别,我希望它显示标签“男性”和“女性”

谢谢 乙

【问题讨论】:

df['gender'] = df['gender'].map(gender_dict) 【参考方案1】:

IIUC,创建数据透视表后即可:

df_out = pd.pivot_table(df, values=['location'], index=['gender'], aggfunc=len)
df_out.index = df_out.index.to_series().map(gender_dict)

【讨论】:

感谢您的回答。非常感谢。

以上是关于在 Pandas 数据透视表中显示映射标签而不是代码的主要内容,如果未能解决你的问题,请参考以下文章

Python pandas 怎么实现透视计数而不是求和

pandas:如何使用多索引运行数据透视?

如何连接 Excel 数据透视表中的值,而不是求和或计数

SqlServer中的数据根据该表中某字段的值的结果决定是不是显示

在 Pandas 中处理大型数据透视表

Excel‖数据透视表的高级应用