Python熊猫地图

问题描述:

我想从熊猫映射一个特定的值到现有的字典,然后将该值添加到我的数据框中。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)' –

这工作得很好:

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 

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

请解释OP代码中的问题以及您的解决方案如何解决问题。 –