2017-07-26 41 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?