2017-04-21 177 views
1

我想從熊貓映射一個特定的值到現有的字典,然後將該值添加到我的數據框中。Python熊貓地圖

x = {'apples':1, "pears":45, 'grapes':7777} 

f = df.fruit 

>>>f 

0 apples        
1 grapes        

我想將df.fruit映射到字典x。

我想這樣的:當我嘗試這個

df['amount'] = df['fruit'].map(x) 

我得到NaN值。我在這裏做錯了什麼。我認爲地圖是做這件事的正確方法,但現在我不確定。

+3

它工作正常? http://imgur.com/a/wHaYI – ayhan

+2

也許你的琴絃周圍有空白處?嘗試'df.fruit.str.strip()。map(x)' –

回答

1

這工作得很好:

import pandas as pd 
x = {'apples':1, "pears":45, 'grapes':7777} 
df = pd.DataFrame({'fruit':['apples','grapes']}) 
df['amount'] = df['fruit'].map(x) 

然後df是:

fruit amount 
0 apples 1 
1 grapes 7777 
0
df['amount']=df['fruit'].apply(lambda y:x[y]) 
+0

請解釋OP代碼中的問題以及您的解決方案如何解決問題。 –