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