Как вменить пропущенные значения в пандах (включая пример)
Вы можете использовать следующий базовый синтаксис для вменения пропущенных значений в DataFrame pandas:
df[' column_name '] = df[' column_name ']. interpolate ()
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: интерполяция отсутствующих значений в Pandas
Допустим, у нас есть следующий DataFrame pandas, который показывает общий объем продаж магазина за 15 дней подряд:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], ' sales ': [3, 6, 8, 10, 14, 17, 20, np.nan, np.nan, np.nan, np.nan, 35, 39, 44, 49]}) #view DataFrame print (df) day sales 0 1 3.0 1 2 6.0 2 3 8.0 3 4 10.0 4 5 14.0 5 6 17.0 6 7 20.0 7 8 NaN 8 9 NaN 9 10 NaN 10 11 NaN 11 12 35.0 12 13 39.0 13 14 44.0 14 15 49.0
Обратите внимание, что в таблице данных отсутствуют данные о продажах за четыре дня.
Если бы мы создали простую линейную диаграмму для визуализации продаж с течением времени, она бы выглядела вот так:
#create line chart to visualize sales df[' sales ']. plot ()
Чтобы заполнить пропущенные значения, мы можем использовать функцию interpolate() следующим образом:
#interpolate missing values in 'sales' column df[' sales '] = df[' sales ']. interpolate () #view DataFrame print (df) day sales 0 1 3.0 1 2 6.0 2 3 8.0 3 4 10.0 4 5 14.0 5 6 17.0 6 7 20.0 7 8 23.0 8 9 26.0 9 10 29.0 10 11 32.0 11 12 35.0 12 13 39.0 13 14 44.0 14 15 49.0
Обратите внимание, что каждое из пропущенных значений заменено.
Если мы создадим еще одну линейную диаграмму для визуализации обновленного фрейма данных, она будет выглядеть вот так:
#create line chart to visualize sales df[' sales ']. plot ()
Обратите внимание, что значения, выбранные функцией interpolate(), похоже, довольно хорошо соответствуют тенденции данных.
Примечание . Полную документацию по функции interpolate() можно найти здесь .
Дополнительные ресурсы
Следующие руководства предоставляют дополнительную информацию о том, как обрабатывать пропущенные значения в pandas:
Как посчитать пропущенные значения в пандах
Как заменить значения NaN строкой в Pandas
Как заменить значения NaN нулем в Pandas