Как вменить пропущенные значения в Pandas (включая пример)


Вы можете использовать следующий базовый синтаксис для заполнения отсутствующих значений в кадре данных pandas:

df['column_name'] = df['column_name']. interpolate ()

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: интерполяция пропущенных значений в Pandas

Предположим, у нас есть следующий кадр данных pandas, который показывает общий объем продаж магазина за 15 дней подряд:

import pandas as pd
import numpy as np

#create DataFrame
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:

Как подсчитать пропущенные значения в Pandas
Как заменить значения NaN на строку в Pandas
Как заменить значения NaN на ноль в Pandas