使用 pandas 地图缺失数据

jsg*_*not 5 python pandas

以下是我们可以从pandas 地图函数文档中读到的内容:

当 arg 是字典时,Series 中不在字典中的值(作为键)将转换为 NaN。但是,如果字典是定义missing的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))
Run Code Online (Sandbox Code Playgroud)

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

我哪里错了?