Чтобы преобразовать категориальный тип данных в целочисленный тип в pandas, вы можете использовать несколько методов. Вот некоторые часто используемые подходы:
- Использование атрибута
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
- Использование класса
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
- Использование функции
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.