2017-07-26 25 views
0

显示值标签我是相当新的Python和我在努力复制的东西,是很容易在一个标准的统计软件包如SAS和SPSS做。如何在表

基本上,我试图计算关于一个变量,“类型”,这是明确的,但作为一个整数范围从1至5,每个值存储在频数分布表对应于不同类别例如1是专业人员; 2是经理等。我正在使用熊猫交叉表命令。 在做一个交叉表来得到我的数据帧属于每个类别的人数,我想列(或行)标题,例如显示标签“专业”而不是实际值,例如“1”来帮助解释。

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

回答

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?