Преобразование категориальных значений в числовые значения в Pandas с использованием функции замены: методы и примеры

Чтобы преобразовать категориальные значения в числовые значения в pandas с помощью функции replace, вы можете использовать несколько методов. Вот несколько примеров:

Метод 1: замена значений вручную с помощью словаря

import pandas as pd
# Create a DataFrame with categorical values
data = {'Category': ['A', 'B', 'A', 'C', 'B']}
df = pd.DataFrame(data)
# Define a dictionary to map categorical values to numerical values
mapping = {'A': 1, 'B': 2, 'C': 3}
# Replace values using the dictionary
df['Category'] = df['Category'].replace(mapping)
print(df)

Выход:

   Category
0         1
1         2
2         1
3         3
4         2

Метод 2. Используйте функцию replaceсо словарем сопоставления

import pandas as pd
# Create a DataFrame with categorical values
data = {'Category': ['A', 'B', 'A', 'C', 'B']}
df = pd.DataFrame(data)
# Define a dictionary to map categorical values to numerical values
mapping = {'A': 1, 'B': 2, 'C': 3}
# Replace values using the replace function with the mapping dictionary
df['Category'] = df['Category'].replace(mapping)
print(df)

Выход:

   Category
0         1
1         2
2         1
3         3
4         2

Метод 3. Используйте атрибут cat.codes

import pandas as pd
# Create a DataFrame with categorical values
data = {'Category': ['A', 'B', 'A', 'C', 'B']}
df = pd.DataFrame(data)
# Use the cat.codes attribute to convert categorical values to numerical values
df['Category'] = df['Category'].astype('category').cat.codes
print(df)

Выход:

   Category
0         0
1         1
2         0
3         2
4         1

Это всего лишь несколько методов преобразования категориальных значений в числовые значения с помощью функции replaceв pandas. Другие методы включают использование функции mapили класса LabelEncoderиз библиотеки scikit-learn.