Як імпутувати відсутні значення в пандах (включаючи приклад)
Ви можете використовувати наступний базовий синтаксис, щоб вказати відсутні значення в pandas DataFrame:
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