Pandas: Замена NaN на нули
Работа с отсутствующими данными - это важный навык для любого аналитика данных или специалиста по данным! Во многих случаях вы захотите заменить отсутствующие данные или значения NaN на нули. В этом учебном пособии вы узнаете, как использовать Pandas для замены значений NaN на нули. Это обычный навык, который является частью лучшего процесса очистки и трансформации ваших данных
К концу этого урока вы научитесь:
Как использовать Pandas для замены значений NaN нулями для одного столбца, нескольких столбцов и всего DataFrame
Как использовать NumPy для замены значений NaN в кадре данных Pandas
Как заменить значения NaN в кадре данных Pandas на месте
Оглавление
Загрузка образца DataFrame Pandas
Чтобы следовать за учебником, я предоставил образец DataFrame Pandas. Чтобы загрузить DataFrame, мы импортируем Pandas с псевдонимом pd
и передадим словарь в конструктор DataFrame()
. Поскольку мы также захотим включить некоторые значения NaN
, мы импортируем NumPy.
В нашем распоряжении три колонки, каждая из которых содержит пропущенные данные.
Как заменить значения NaN нулями для одного столбца Pandas
Чтобы заменить все отсутствующие значения нулями в одном столбце DataFrame Pandas, мы можем применить метод .fillna()
к столбцу. Функция позволяет вам передать значение, которым нужно заменить отсутствующие данные. В данном случае мы передаем значение 0.
В предыдущем коде мы переназначили столбец 'Col_A'
самому себе. Переназначая его, мы применили метод .fillna()
, передав 0 в аргумент. В следующем разделе вы узнаете, как заменить все пропущенные значения для нескольких столбцов.
Как заменить значения NaN нулями для нескольких столбцов Pandas
Для замены значений NaN на нули в нескольких столбцах DataFrame Pandas можно применить метод fillna к нескольким столбцам. Чтобы модифицировать несколько столбцов, мы можем передать список меток столбцов в селектор. Давайте посмотрим, как это выглядит:
В приведенном выше коде мы выбираем несколько столбцов, передавая список меток столбцов в селектор df[]
. Затем мы можем применить метод fillna
, передавая в него 0. Это заменяет все отсутствующие значения на 0 для нескольких столбцов.
Как заменить значения NaN нулями для таблицы данных Pandas
Метод fillna библиотеки Pandas можно применять ко всему DataFrame. В этом случае любые отсутствующие значения NaN в столбцах будут заменены на значение, которое передается в метод. Этот подход может быть полезен при работе с DataFrame, когда необходимо обеспечить единообразие заполнения отсутствующих значений.
В приведенном выше блоке кода мы переназначаем DataFrame самому себе, применяя метод fillna. Мы передаем значение 0, чтобы заменить все отсутствующие значения нулями.
Как заменить значения NaN нулями для таблицы данных Pandas на месте
Точно так же мы можем заменить все значения NaN в DataFrame Pandas на месте. Это позволяет нам не переназначать DataFrame самому себе. Это также делает код более эффективным, поскольку Pandas не будет создавать новый объект.
В приведенном выше коде мы просто передаем inplace=True
в качестве второго аргумента. Это модифицирует DataFrame непосредственно, заменяя все отсутствующие значения.
Как заменить значения NaN нулями в Pandas, используя NumPy для столбца
Благодаря тесной интеграции Pandas с NumPy, мы также можем использовать методы NumPy в DataFrame Pandas. Метод .replace()
можно применять непосредственно к серии Pandas (или, точнее, к столбцу). Метод .replace()
принимает два параметра:
Значение для замены
Значение, на которое нужно заменить
Давайте посмотрим, как это выглядит:
В приведенном выше коде мы используем метод np.replace()
для замены всех отсутствующих значений NaN на значение 0.
Как заменить значения NaN нулями в Pandas, используя NumPy для DataFrame
Аналогично, мы можем использовать метод .replace()
из библиотеки NumPy, чтобы заменить значения NaN на нули во всем DataFrame Pandas. Для этого мы можем применить метод .replace()
ко всему DataFrame, как показано ниже:
В приведенном выше коде мы используем метод .replace()
ко всему DataFrame для замены отсутствующих значений.
Заключение
В этом уроке вы узнали, как использовать Pandas для замены значений NaN на нули. Вы научились делать это для одного столбца, нескольких столбцов и всего DataFrame с помощью метода Pandas fillna. Затем вы узнали, как использовать метод .replace()
NumPy для того же для одного столбца и всего DataFrame.
Дополнительные ресурсы
Чтобы узнать больше о связанных темах, ознакомьтесь с обучающими материалами ниже:
Pandas dropna(): удалить недостающие записи и столбцы в таблицах данных
Введение в Pandas для науки о данных
Last updated