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值。我在这里做错了什么。我认为地图是做这件事的正确方法,但现在我不确定。
答
这工作得很好:
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代码中的问题以及您的解决方案如何解决问题。 –
它工作正常? http://imgur.com/a/wHaYI – ayhan
也许你的琴弦周围有空白处?尝试'df.fruit.str.strip()。map(x)' –