У меня есть кадр данных ДФ:Обрабатывать пропущенные значения, основанные на другом столбце значения
df = pd.DataFrame({'City': ['Cambridge','','Boston','Washignton','','Tampa',
'Danvers','Miami','Cambridge','Miami','','Washington'], 'State': ['MA','DC','MA',
'DC','MA','FL','MA','FL','MA','FL','FL','DC']})
Как мы можем видеть в приведенном выше ФР, у меня есть два столбца «Город» и «государство». Есть 3 города с '' (Нет значений). Я хочу присвоить значение отсутствующим значениям в городах. Назначение должно выполняться следующим образом. Город, который существует максимальное количество раз для определенного состояния, должен быть присвоен отсутствующему значению для этого конкретного состояния. Например: второй недостающий город соответствует состоянию MA. Теперь, если внимательно изучить данные, «Кембридж» - это город, который встречается чаще всего для государственной МА. Поэтому это недостающее значение следует заменить на «Cambridge».
Следуя той же тенденции, первый пропавший город должен быть Вашингтоном, вторым должен быть Кембридж, а третьим должен быть Майами.
Как выполнить эту задачу с помощью панд?
ValueError: слишком много значений для распаковки – ComplexData
Работает отлично для меня с версией python 3.5 и pandas 0.19.0 – AlexG