2016-11-17 7 views
1

のcsvファイルを読むと、値の名前はどのように変更できますか?pandas 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

Pythonでは、それは何が問題なのですか?通常のファイルの場合、 'f = open(" stuff.txt "、" r ")'は完全にうまくいくので、 'df = pd.read_csv( 'aaa.csv')'の何が間違っていますか? – Boud

+0

@Boudとしてファイルを使用しないでください –

+0

これは私の編集されたバージョンです、OPはfile =であり、ファイルの機能に代わるものです – Boud

答えて

3

read_csv DOCS

コンバータdict、デフォルト変換するための関数のNone dictの特定の列の値。キーは、整数または列でラベルすることができますいずれか

デモ

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

私はcsvファイルの取り扱いについてはあまり知らない変数
+0

ありがとう!ラムダ関数の後の[x] doは何ですか? – 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 
関連する問題