Разбор словаря и обновление пробелов в кадре данных - PullRequest
0 голосов
/ 04 марта 2020

Пожалуйста, посмотрите на следующий фрейм данных:

      A     B
0     Fruit Apple
1     Car   BMW
2           Cat

Словарь: {'Apple': 'Fruit', 'BMW':'Car','Cat': 'Animal'}

Желаемый результат:

      A      B
0     Fruit  Apple
1     Car    BMW
2     Animal Cat

Мое мышление:

  1. Анализ столбца A
  2. Определение пустых значений
  3. Для каждого пустого значения посмотрите на соответствующий элемент строки в столбце B (например: "" -> "Cat")
  4. Получить значение из этой строки и использовать его в качестве ключа для определенного словаря с надписью «Словарь»
  5. Использовать выходное значение из пары ключ-значение и заменить пустое значение выходным значением из словарь

, если кто-нибудь может помочь мне, напишите это в python, это было бы здорово :)

1 Ответ

1 голос
/ 04 марта 2020

Если ваш DataFrame и словарь имеют имена df и d, попробуйте это:

# Map column B to values of the dictionary
mapper = df['B'].map(d)

# Replace empty strings in A with corresponding dict-mapped value
df['A'] = df['A'].replace('', np.nan).fillna(mapper)

df
        A      B
0   Fruit  Apple
1     Car    BMW
2  Animal    Cat
...