Метод Pandas DataFrame fillna() в Python

Метод Pandas DataFrame fillna() используется для заполнения значений NA/NaN с использованием указанных значений. Когда мы встречаем какие-либо значения Null, они заменяются значениями NA/NaN в DataFrame. Это вступает в игру, когда мы работаем с файлами CSV, а в науке о данных и машинном обучении мы всегда работаем с файлами CSV или Excel.

Что такое функция Pandas DataFrame fillna() в Python?

Чтобы заменить все значения NaN нулями в столбце фрейма данных Pandas, вы можете использовать метод fillna() DataFrame в Python.

Используя метод fillna() DataFrame, мы можем удалить значения NA/NaN, попросив пользователя ввести какое-то собственное значение, которым он хочет заменить значения NA/NaN в DataFrame. Он чем-то похоже на метод dropna(), где мы удалили данные, но здесь, в этом случае, мы просим пользователя ввести данные для замены значений NA/NaN.

Синтаксис

Параметры

Метод fillna() принимает следующие семь параметров.

  1. value: это серия, dict, массив или DataFrame для заполнения вместо значений NaN.
  2. method: используется, если пользователь не передает никаких значений. Когда пользователи не передают никакого значения и задан параметр метода, Pandas заполняет место значением в индексе Forward или Previous index на основе значения, переданного в параметре метода.
  3. axis: этот параметр принимает целые или строковые значения для строк/столбцов. Формат ввода может быть 0 или 1, если мы передаем его как целое число, и «index» или «columns», если мы передаем его как строку.
  4. inplace: это логическое значение, которое вносит изменения в DataFrame, если для значения установлено True.
  5. limit: этот параметр имеет целочисленный тип данных, который используется для указания максимального количества последовательных заполнений значения NaN вперед или назад.
  6. downcast: требуется словарь, который определяет, к какому типу следует приводить тип данных. Например, как Float64 в int64.
  7. **kwargs: необязателен, он указывает, нужны ли нам какие-либо другие аргументы ключевого слова.

Возвращаемое значение

Метод fillna() ничего не возвращает, но удаляет значения NA/NaN.

Примеры программ с Pandas DataFrame fillna()

Напишем программу, показывающую работу Pandas DataFrame fillna().

Пример 1

Выход:

Здесь, во-первых, мы создали DataFrame, в который мы передали некоторые числовые значения и некоторые значения NA/NaN, затем мы использовали функцию fillna() для обработки данных в разделе NaN с использованием пользовательского ввода(здесь он 0).

После этого мы напечатали окончательный DataFrame после удаления значений NaN.

Пример 2

Напишем программу для распространения всех ненулевых значений DataFrame вперед или назад.

См. следующий код.

Выход:

Здесь, как мы видим в выводе, мы сначала напечатали стандартный DataFrame, а затем использовали форвард для заполнения параметра метода, а затем записали DataFrame.

После этого мы использовали параметр fillna(), чтобы заполнить все значения NaN значением 3.

NaN только в одном столбце DataFrame

Чтобы заполнить NaN только в одном столбце, выберите только этот столбец. В этом случае я использую inplace=True для изменения содержимого файла df.

Выход:

В этом примере мы заполнили значения NaN значениями 0 в столбце «c» DataFrame.

Применение ограничений к методу fillna()

Чтобы применить ограничение, мы должны передать такой аргумент, как limit = число. Он говорит интерпретатору просто применить метод fillna() к этой большей части последовательного заполнения значения NaN вперед или назад.

Возьмем limit = 2. Это означает, что значение NaN будет преобразовано в 0 в первых двух строках.

См. следующий код.

Выход:

Вы можете видеть, что значения NaN были удалены и заполнены нулями в первых двух строках. Из третьего ряда NaN все еще там.

Заключение

Метод Pandas DataFrame fillna() в Python

Функция Pandas DataFrame fillna() очень полезна, когда вы получаете CSV-файл, полный значений NaN. Это помогает очистить значения NaN по желанию пользователя. И в конечном итоге это помогает улучшить модели машинного обучения.

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python