Я не могу найти функцию pandas (что я видел раньше), чтобы заменить NaN в фрейме данных значениями из другого фрейма данных (при условии, что общий индекс может быть указан). Любая помощь?Pandas заполняет отсутствующие значения в dataframe из другого фрейма данных
ответ
Если у вас есть два DataFrames той же формы, а затем:
df[df.isnull()] = d2
будет делать трюк.
только места, где df.isnull()
принимает значение True
(выделено зеленым цветом) будет иметь право на назначение.
На практике DataFrames не всегда одинакового размера/формы, и методы преобразования (особенно .shift()
) полезны.
Данные, поступающие постоянно, являются грязными, неполными или непоследовательными. Par для курса. Для решения этих ситуаций есть довольно обширные панды tutorial and associated cookbook.
Как я только что узнал, есть DataFrame.combine_first()
метод, который делает именно это, с дополнительным свойством, что если ваше обновление данных кадра d2
больше, чем оригинал df
, дополнительные строки и столбцы добавляются, а также.
df = df.combine_first(d2)
DataFrame.combine_first() отвечает на этот вопрос точно.
Однако иногда вы хотите, чтобы заполнить/заменить/перезаписать некоторые из не пропущенным (не NaN) значений DataFrame A со значениями из DataFrame B. Этот вопрос привел меня к этой странице, и решение DataFrame.mask()
A = B.mask(condition, A)
Если значение condition
истинно, будут использоваться значения от A, иначе значения B будут использоваться.
Например, вы могли бы решить оригинальный вопрос Ор с mask
таким образом, что, когда элемент из A не является NaN, использовать его, в противном случае используйте соответствующий элемент из В.
Но использование DataFrame.mask() можно заменить значения A, которые не удовлетворяют произвольным критериям (меньше нуля более 100?) со значениями из B. Таким образом, mask
более гибкий и перебор для этой проблемы, но я думал, что это достойно упоминания (мне нужно было его решить моя проблема).
Важно также отметить, что B может представлять собой массив numpy вместо DataFrame. DataFrame.combine_first() требует, чтобы B был DataFrame, но DataFrame.mask() просто требует, чтобы B был NDFrame и его размеры соответствовали размерам A.
- 1. Pandas dataframe сумм из другого фрейма данных
- 2. Отображение значений в dataframe из другого фрейма данных в Pandas
- 3. Замена столбцов из одного фрейма данных столбцами из другого фрейма данных в pandas
- 4. Обновление/замена pandas из другого фрейма данных
- 5. Обновление фрейма данных pandas со значениями из другого фрейма данных
- 6. Кадр данных Pandas заполняет нулевые значения индексом
- 7. Добавьте отсутствующие строки в dataframe из другого фрейма данных в R
- 8. Заполнять отсутствующие значения одного столбца из другого столбца в pandas
- 9. Обновить заголовок dataframe со значениями из другого фрейма данных
- 10. Замена данных из dataframe данными из другого фрейма данных
- 11. Как помечать наиболее эффективный способ столбца фрейма данных значениями другого фрейма данных в python/pandas?
- 12. Pandas: найдите пустые/отсутствующие значения и добавьте их в DataFrame
- 13. Графы Dataframe из строк Dataframe в Pandas
- 14. Pandas: умножать столбец по столбцу из другого фрейма данных?
- 15. Выберите значения из фрейма данных pandas с интервалами
- 16. построение графика из фрейма данных в pandas
- 17. Утечка памяти при чтении значения из фрейма данных Pandas
- 18. Назначение pandas multiindex из другого dataframe
- 19. Python pandas dataframe интерполировать отсутствующие данные
- 20. Дата из строки Pandas фрейма данных
- 21. Получение значения из другого фрейма
- 22. Заполнение столбца dataframe в pandas с помощью другого столбца Dataframe
- 23. Создание фрейма данных Pandas из элементов словаря
- 24. Python: Pandas заполняет 3-D dataframe
- 25. Удалить повторяющиеся значения из всего фрейма данных
- 26. Подмножество/выбор столбцов из dataframe на основе другого фрейма данных
- 27. TypeError преобразование фрейма данных Pandas в Spark Dataframe в Pyspark
- 28. Замена нулевых значений в dataframe с использованием другого фрейма данных
- 29. Разбиение строки данных dataframe pandas и создание нового фрейма данных
- 30. Python pandas dataframe заполняет NaN другими сериями
Звучит так, как будто вы хотите слить. Пожалуйста, покажите несколько примеров сценариев. –
нашел! Я хотел использовать comb_first – user308827
http://pandas.pydata.org/pandas-docs/dev/generated/pandas.Series.combine_first.html – user308827