Как заменить значения в pandas: подробное руководство с примерами 🐼

Чтобы заменить значения в Pandas, вы можете использовать метод replace(). Он позволяет заменить одно значение на другое или заменить несколько значений одновременно.


import pandas as pd

# Создаем DataFrame
data = {'A': [1, 2, 3, 4, 5],
        'B': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)

# Заменяем значение в столбце 'A'
df['A'] = df['A'].replace(3, 10)

# Заменяем несколько значений одновременно
df = df.replace({1: 100, 2: 200})

print(df)

Детальный ответ

Как заменить значения в библиотеке Pandas

Когда работаешь с данными, часто возникает необходимость заменить определенные значения в DataFrame, чтобы привести их к нужному формату или исправить ошибки. Библиотека Pandas предоставляет несколько способов замены значений, и в этой статье мы рассмотрим как использовать их.

Метод replace()

Метод replace() является одним из наиболее универсальных способов замены значений в Pandas. Он позволяет заменить одно или несколько значений на другие значения в указанных столбцах.

Вот пример использования метода replace() для замены значения "apple" на "orange" в столбце "fruit":

import pandas as pd

data = {'fruit': ['apple', 'banana', 'apple', 'orange'],
        'count': [2, 5, 1, 3]}

df = pd.DataFrame(data)

df.replace('apple', 'orange', inplace=True)

print(df)

Результат выполнения кода:

    fruit  count
0  orange      2
1  banana      5
2  orange      1
3  orange      3

В данном примере метод replace() заменил все значения "apple" на "orange" в столбце "fruit". Обратите внимание на использование параметра inplace=True, который позволяет изменить DataFrame без создания нового экземпляра.

Метод replace() также позволяет заменить несколько значений одновременно. Для этого можно передать словарь, где ключи - заменяемые значения, а значения - значения, на которые нужно заменить:

df.replace({'apple': 'orange', 'banana': 'grape'}, inplace=True)

Метод map()

Если вам нужно заменить значения в столбце на основе определенного условия или маппинга, вы можете использовать метод map(). Этот метод позволяет применить функцию или словарь для замены каждого значения в указанном столбце.

Вот пример использования метода map() для замены значений "male" и "female" в столбце "gender" на значения "M" и "F" соответственно:

data = {'name': ['John', 'Alice', 'Bob'],
        'gender': ['male', 'female', 'male']}

df = pd.DataFrame(data)

gender_mapping = {'male': 'M', 'female': 'F'}

df['gender'] = df['gender'].map(gender_mapping)

print(df)

Результат выполнения кода:

   name gender
0  John      M
1 Alice      F
2   Bob      M

В данном примере метод map() применил словарь gender_mapping для замены значений "male" на "M" и "female" на "F" в столбце "gender". Обратите внимание, что для использования map() мы сначала выбрали столбец с помощью df['gender'], а затем применили метод map() к этому столбцу.

Метод apply()

Если вам требуется более сложная логика для замены значений в DataFrame, вы можете использовать метод apply(). Этот метод позволяет применить функцию к каждому элементу в указанном столбце или всему DataFrame.

Вот пример использования метода apply() для замены значений в столбце "age" в зависимости от условия:

data = {'name': ['John', 'Alice', 'Bob'],
        'age': [25, 30, 35]}

df = pd.DataFrame(data)

def categorize_age(age):
    if age < 30:
        return 'Young'
    else:
        return 'Old'

df['age_category'] = df['age'].apply(categorize_age)

print(df)

Результат выполнения кода:

   name  age age_category
0  John   25        Young
1 Alice   30          Old
2   Bob   35          Old

В данном примере метод apply() применил функцию categorize_age к каждому значению в столбце "age" и сохраняет результат в столбце "age_category". Функция categorize_age определяет категорию возраста на основе значения: "Young" для возраста меньше 30 и "Old" в остальных случаях.

Это лишь несколько способов замены значений в Pandas. Библиотека Pandas предоставляет еще множество методов для манипуляции данными. Изучайте и экспериментируйте с ними, чтобы наиболее эффективно работать с данными в вашем проекте.

Видео по теме

Replacing a value in a Column | Python Panda Tutorial

How to Replace Values of Dataframes | Replace, Where, Mask, Update and More

38- Pandas DataFrames: How to Replace Values

Похожие статьи:

Как заменить значения в pandas: подробное руководство с примерами 🐼