Когда arg является словарем, значения в Series, которые не являются в словаре (как ключи) преобразуются в NaN. Однако если словарь является подклассом dict, который определяет __missing__ (т. е. предоставляет метод для значений по умолчанию), то используется это значение по умолчанию, а не 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))
Где я ошибаюсь?
Подробнее здесь: https://stackoverflow.com/questions/441 ... pandas-map
Мобильная версия