Найти в Дзене
Властелин машин

Заполнение пропусков с Pandas

Рассмотрим, основные способы заполнения пропусков с Pandas. В демонстрационных целях создадим датафрейм:

Заполнение чаще всего осуществляется с помощью метода fillna. Распространенным способом является вставка на место пропусков некоторого фиксированного значения (в fillna можно передать словарь, в котором указать для каждого столбца такое значение):

-2

Также популярно заполнение значениями из предшествующей (аргумент method='bfill') либо последующей записи (method='ffill'):

-3

Следует отметить, что для аналогичных действий имеются специальные методы с названиями bfill и ffill:

-4

Более сложным кейсом является заполнение значений с учетом группы, к которой принадлежит объект. Например, пусть она определяется колонкой 'gr', а время столбцом 'month', и вы хотите заполнить пропуски более ранними значениями в колонках. Тогда сначала отсортируйте датафрейм по дате:

-5

После аналогичные методы можно вызывать на сгруппированных объектах:

-6

то же с fillna:

-7

Распространенным вариантом является заполнение в одну сторону, затем в другую. Это можно сделать с методом apply:

-8

или с методом transform:

-9

-10