Преобразование категориального типа данных в целое число в Pandas

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

  1. Использование атрибута cat.codes: Pandas предоставляет атрибут cat.codes, который присваивает уникальное целое число каждой категории в категориальном столбце. Вот пример:
import pandas as pd
# Create a DataFrame with a categorical column
data = {'Category': ['A', 'B', 'A', 'C']}
df = pd.DataFrame(data)
# Convert the categorical column to integers
df['Category'] = df['Category'].astype('category').cat.codes
print(df)

Выход:

   Category
0         0
1         1
2         0
3         2
  1. Использование класса LabelEncoder. Вы также можете использовать класс LabelEncoderиз модуля sklearn.preprocessingдля преобразования категориальных значений в целые числа. Вот пример:
from sklearn.preprocessing import LabelEncoder
# Create a DataFrame with a categorical column
data = {'Category': ['A', 'B', 'A', 'C']}
df = pd.DataFrame(data)
# Convert the categorical column to integers using LabelEncoder
le = LabelEncoder()
df['Category'] = le.fit_transform(df['Category'])
print(df)

Выход:

   Category
0         0
1         1
2         0
3         2
  1. Использование функции map. Функцию mapможно использовать для определения сопоставления между категориями и целыми числами, а затем применить его к категориальному столбцу. Вот пример:
# Create a DataFrame with a categorical column
data = {'Category': ['A', 'B', 'A', 'C']}
df = pd.DataFrame(data)
# Define a mapping between categories and integers
mapping = {'A': 0, 'B': 1, 'C': 2}
# Convert the categorical column to integers using map
df['Category'] = df['Category'].map(mapping)
print(df)

Выход:

   Category
0         0
1         1
2         0
3         2

Вот некоторые методы, которые можно использовать для преобразования категориального типа данных в целочисленный тип в pandas.