Отсутствующие данные с использованием карты пандPython

Программы на Python
Ответить
Anonymous
 Отсутствующие данные с использованием карты панд

Сообщение Anonymous »

Вот что мы можем прочитать из документации по функциям карты pandas:

Когда 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»