Python | Pandas DataFrame.fillna () для замены нулевых значений в фрейме данных

| | | | | | | | | | | | | | | | | | | | |

Иногда CSV-файл содержит нулевые значения, которые позже отображаются как NaN во фрейме данных. Подобно тому, как метод dropna () панды управляет значениями Null и удаляет их из фрейма данных, fillna () управляет и позволяет пользователю заменять значения NaN ‚Äã – со своими ценностями.

Синтаксис:

DataFrame.fillna (значение = None, метод = None, ось = None, inplace = False, limit = None, downcast = None , ** kwargs)

Параметры:

значение: Статическое, словарь , массив, серия или фрейм данных для заполнения вместо NaN. Метод
: метод используется, если пользователь не передает никакого значения. В Pandas есть различные методы, такие как bfill , backfill или ffill , которые заполняют место значением в индексе Forward или Previous/Back соответственно.
Ось : ось принимает целочисленное или строковое значение для строк/столбцов. Ввод может быть 0 или 1 для Integer и `index` или `columns` для String
inplace: Это логическое значение, которое вносит изменения в сам фрейм данных, если True.
limit: Это целочисленное значение, которое определяет максимальное количество последовательных заполнений значения NaN вперед/назад.
downcast: Требуется dict, который указывает, какой тип dtype к какому понижать . Аналогично Float64 to int64.
** kwargs: Любые другие аргументы ключевого слова

Чтобы создать ссылку на CSV-файл, используемый в коде, нажмите здесь .

Пример № 1: Замена значений NaN ‚Äã‚Äãстатическим значением.

Перед заменой:


< tr>

# импорт модуля pandas

import pandas as pd


# создать фрейм данных из файла CSV

nba = pd.read_csv ( "nba.csv" )


nba

< /td>

Выход:

После замены:
В следующем примере все пустые значения ‚Äã‚Äã в столбце "Колледж" были заменены w со строкой "No College"... Сначала импортируется фрейм данных CSV, затем выбирается столбец College и методом fillna() является fillna() .


# импорт модуля pandas

import pandas as pd


# создать фрейм данных из файла CSV

nba = pd.read_csv (< /код> <класс кода = "строка"> "nba. csv " )


# замена значений колледжа Äã‚Äã на Нет колледжа

nba [ "College" ].fillna ( "No College" , inplace = True )


nba

Выход:


Пример № 2: Использование метода Parameter


В следующем примере метод задается как ffill, и, таким образом, значение в том же столбце заменяет нулевое значение . В данном случае Грузия заменил нулевое значение в столбце колледжа в строках 4 и 5.
Аналогичным образом можно использовать методы bfill, backfill и pad.


# импорт модуля pandas

import pandas as pd


# создать фрейм данных из файла CSV

nba = pd.read_csv ( "nba.csv" )


# замена значений колледжа ‚Äã‚Äã на Нет колледжа

nba [ "Колледж" ]. fillna (метод = `ff ill` , inplace = True )


nba

Выход:


Пример № 3: ограничение использования

В этом примере для метода fillna() устанавливается ограничение 1, чтобы проверить, прекращает ли функция замену после одного успешного изменения значения NaN или нет.

# импорт модуля pandas

import pandas as pd


# создать fr имя данных из файла CSV

nba = pd.read_csv ( "nba.csv" )


# замена значений колледжа ‚Äã‚Äã на Нет колледжа

nba [ "Колледж" ]. fillna (метод = `ffill` , limit = 1 , inplace = True )


nba

Вывод:
Как показано в выводе, столбец колледжа 4-я строка заменена, а 5-й столбец — нет, так как ограничение было установлено на 1.