使用pandas map丢失数据

时间:2017-05-24 13:15:07

标签: python pandas

以下是我们可以从pandas map function documentation

中读取的内容
  

当arg是字典时,系列中不在字典中的值(作为键)将转换为NaN。但是,如果字典是定义缺少的dict子类(即提供默认值的方法),则使用此默认值而不是NaN

所以我尝试将此注释应用于此代码:

import pandas as pd 

class Missing_dict(dict) :

  def __init__(self,*arg,**kw):
      super(Missing_dict, self).__init__(*arg, **kw)

  def __missing__(self, key) :
    return key

md = Missing_dict({"a" : 0})

df = pd.DataFrame([{"key" : "a", "value" : 0}, {"key" : "b", "value" : 1}])

print (df)
print (df["key"].map(md))

但是结果不是我所期望的,在我的情况下我想要从一列映射数据,如果在dictionnary中找不到值,那么我希望这个值作为结果(换句话说,我如果密钥在字典中,则为该值;否则为密钥)。

我哪里错了?

0 个答案:

没有答案