如何在表格中显示值标签

时间:2017-07-26 12:12:45

标签: python statistics labels

我对Python很陌生,我很难复制一些在SAS和SPSS等标准统计软件包中很容易做到的事情。

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

我尝试创建一个字典,将每个键(例如我的值1-5)分配给每个值(即我的标签),但我无法找到如何修改交叉表命令来选择字典标签。 我相信必须有一个简单的方法来做到这一点! 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

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

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?