Метод интерполяции в DataFrame библиотеки Pandas

Beginner

Введение

В этом лабораторном задании мы исследуем метод interpolate() в библиотеке Pandas для Python. Метод interpolate() используется для заполнения пропущенных или NaN (Not a Number) значений в DataFrame с использованием различных техник интерполяции. Интерполяция - это процесс оценки пропущенных значений на основе существующих точек данных.

Советы по использованию ВМ

После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортировать необходимые библиотеки

Начнем с импорта библиотеки pandas и библиотеки numpy.

import pandas as pd
import numpy as np

Создать DataFrame с пропущенными значениями

Далее создадим DataFrame с некоторыми пропущенными значениями.

df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0), (np.nan, 2.0, np.nan, np.nan), (2.0, 3.0, np.nan, 9.0)], columns=list('abcd'))
print(df)

Результат:

     a    b    c    d
0  0.0  NaN -1.0  1.0
1  NaN  2.0  NaN  NaN
2  2.0  3.0  NaN  9.0

Интерполировать пропущенные значения с использованием линейного метода

Можем интерполировать пропущенные значения методом линейной интерполяции. Метод линейной интерполяции предполагает, что значения в DataFrame равномерно распределены.

interpolated_df = df.interpolate(method='linear')
print(interpolated_df)

Результат:

     a    b    c    d
0  0.0  NaN -1.0  1.0
1  1.0  2.0 -1.0  5.0
2  2.0  3.0 -1.0  9.0

Интерполировать пропущенные значения с использованием полиномиального метода

Можем также интерполировать пропущенные значения методом полиномиальной интерполяции. Метод полиномиальной интерполяции требует от нас указать порядок сплайна или полинома.

interpolated_column = df['a'].interpolate(method='polynomial', order=1)
print(interpolated_column)

Результат:

0    0.0
1    1.0
2    2.0
Name: a, dtype: float64

Интерполировать пропущенные значения с использованием метода заполнения (pad)

Еще один метод интерполяции пропущенных значений - это метод заполнения (pad). Метод заполнения (pad) заполняет значения NaN существующими значениями в DataFrame.

interpolated_df = df.interpolate(method='pad')
print(interpolated_df)

Результат:

     a    b    c    d
0  0.0  NaN -1.0  1.0
1  0.0  2.0 -1.0  1.0
2  2.0  3.0 -1.0  9.0

Резюме

В этом практическом занятии мы узнали, как использовать метод interpolate() в Pandas для заполнения пропущенных или NaN значений в DataFrame. Мы изучили различные методы интерполяции, такие как линейный, полиномиальный и метод заполнения (pad). Интерполяция - это полезный метод для оценки пропущенных значений и повышения полноты данных для анализа.