2016-11-17 2 views
1

Wenn ich die CSV-Datei lesen, in einer Befehlszeile, wie benenne ich die Werte?Wie benenne ich die Werte in, wenn ich pandas CSV-Datei lesen

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

Ich mag diesen Datenrahmen sehen

Hobby Sex No 
0 0 12345 

0  1  67788 

0  1  0909 

1  1  5867433 

wie diese neuen Werte zu konvertieren.

Hobby  Sex  No 

Travel Female 12345 

Travel  Male  67788 

Travel  Male  0909 


Dance  Male  5867433 
+1

nicht Datei als Variable – Boud

+0

@Boud verwenden, weiß ich nicht viel über csv Umgang in Python, aber was ist daran falsch? Für normale Dateien ist 'f = open (" stuff.txt "," r ")" völlig in Ordnung, also was ist falsch mit 'df = pd.read_csv ('aaa.csv')'? –

+0

Dies ist meine bearbeitete Version, OP war Datei = und ersetzt die Dateifunktion – Boud

Antwort

3

read_csv DOCS

Konvertern: dict, default None Dict von Funktionen zum Umwandeln von Werte in bestimmten Spalten. Die Schlüssel können entweder ganze Zahlen oder Spaltenbeschriftungen sein

Demonstration

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

Vielen Dank! Was ist das [x] nach der Lambda-Funktion? – MMM

+0

Es erhält das x aus dem Wörterbuch – piRSquared

1

Verwenden eines dict mit den Zuordnungen und jede dict auf die entsprechende Spalte gelten:

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 
Verwandte Themen