2016-11-17 121 views
1

當我在一個命令行中讀取csv文件時,如何重命名這些值?如何在讀取熊貓csv文件時重命名值

df = pd.read_csv('aaa.csv') 

我希望看到這個數據幀

Hobby Sex No 
0 0 12345 

0  1  67788 

0  1  0909 

1  1  5867433 

像這樣新的值轉換。

Hobby  Sex  No 

Travel Female 12345 

Travel  Male  67788 

Travel  Male  0909 


Dance  Male  5867433 
+1

不要使用文件作爲變量 – Boud

+0

@Boud我不知道很多有關處理CSV在Python中,但那有什麼問題?對於正常的文件,'f = open(「stuff.txt」,'r')'很好,那麼'df = pd.read_csv('aaa.csv')'有什麼問題? –

+0

這是我編輯的版本,OP是file =並取代文件功能 – Boud

回答

3

read_csv DOCS

變換器dict,默認None 字典的功能用於轉換某些列中的值。鍵可以是整數或列標籤

示範

converters = dict(Hobby=lambda x: {'0': 'Travel', '1': 'Dance'}[x], 
        Sex=lambda x: {'0': 'Female', '1': 'Male'}[x]) 

df = pd.read_csv('aaa.csv', converters=converters) 

df 

enter image description here

+0

非常感謝! lambda函數之後的[x]做什麼? – MMM

+0

它從字典中獲得x – piRSquared

1

使用帶有映射的字典,並且每個字典應用到相應的列:

df['Hobby'] = df.Hobby.map({0:'Travel', 1:'Dance'}) 
df 
Out[52]: 
    Hobby Sex  No 
0 Travel 0 12345 
1 Travel 1 67788 
2 Travel 1  909 
3 Dance 1 5867433