2017-07-28 8 views
1

複数の値をPandas DataFrameのマッピングに置き換えるにはどうすればよいですか?パンダのデータフレームで複数の値を置き換えるにはどうすればいいですか?

私は次のマッピングで置き換えたい1つの列を持っています。

mapping 
apple=fruit 
tomato=vegetable 
steak=protein 
milk=dairy 

私の列になるようにします。

col1  ->  col1 
apple    fruit 
apple    fruit 
tomato   vegtable 
steak    protein 
milk    dairy 

これを最も効率的に行うにはどうすればよいですか?

答えて

2

マッピングを使用して辞書を作成してから、Series.mapを呼び出してください。

>>> d = {'apple': 'fruit', 
     'tomato': 'vegetable', 
     'steak': 'protein', 
     'milk': 'dairy'} 

>>> df.col1.map(d) 

0  fruit 
1  fruit 
2 vegetable 
3  protein 
4  dairy 
Name: col1, dtype: object 
+0

ありがとうございました! – OptimusPrime

+0

@OptimusPrimeよろしくお願いします! – miradulo

+0

コードdf [col1] = df.col1.map(d)を使って疲れました。エラーが出ました。値は、DataFrameからスライスのコピーに設定しようとしています。 代わりに.loc [row_indexer、col_indexer] = valueを使用してみてください – OptimusPrime

関連する問題