2017-07-28 75 views
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

謝謝你mitch! – OptimusPrime

+0

@OptimusPrime不客氣! – miradulo

+0

我厭倦了使用代碼df [col1] = df.col1.map(d),並且出現錯誤。正嘗試在DataFrame的切片副本上設置一個值。 嘗試使用.loc [row_indexer,col_indexer] =值代替 – OptimusPrime