Python 如何在表中显示值标签

Python 如何在表中显示值标签,python,statistics,labels,Python,Statistics,Labels,我是Python的新手,我正在努力复制一些在标准统计软件包(如SAS和SPSS)中很容易做到的东西 基本上,我试图计算一个变量“type”的频率表,这个变量是分类的,但存储为1到5之间的整数。这些值中的每一个都对应于一个不同的类别,例如1是专业的;2是管理器等。我正在使用panda交叉表命令。 在进行交叉制表以获取我的数据框中属于每个类别的人数时,我希望列(或行)标题显示标签,例如“Professional”,而不是实际值,例如“1”,以帮助解释 我已尝试创建一个字典,将每个键(例如我的值1-5

我是Python的新手,我正在努力复制一些在标准统计软件包(如SAS和SPSS)中很容易做到的东西

基本上,我试图计算一个变量“type”的频率表,这个变量是分类的,但存储为1到5之间的整数。这些值中的每一个都对应于一个不同的类别,例如1是专业的;2是管理器等。我正在使用panda交叉表命令。 在进行交叉制表以获取我的数据框中属于每个类别的人数时,我希望列(或行)标题显示标签,例如“Professional”,而不是实际值,例如“1”,以帮助解释

我已尝试创建一个字典,将每个键(例如我的值1-5)分配给每个值(例如我的标签),但我找不到如何修改交叉选项卡命令以拾取字典标签。 我相信一定有一个简单的方法做到这一点!
感谢您的帮助

您可以使用字典更改列标题:

import pandas as pd

# Dictionary mapping category numbers to titles
category_map = {1: "Professional", 2: "Manager", 3: "Etc."}

# Dummy dataframe
df = pd.DataFrame({
    1: ["Hello", "mister", "professional"],
    2: ["Hello", "mister", "manager"],
    3: ["Who", "are", "you?"]
})

# Dataframe before conversion
print df

# Replace category numbers with titles
new_columns = [category_map[category_number] for category_number in list(df.columns)]
df.columns = new_columns

# Dataframe after conversion
print df
哪些产出:

              1        2     3
0         Hello    Hello   Who
1        mister   mister   are
2  professional  manager  you?
以及:

   Professional  Manager  Etc.
0         Hello    Hello   Who
1        mister   mister   are
2  professional  manager  you?