В Python при работе с данными в DataFrames обычно требуется преобразовать строковые значения в категории или целые числа для дальнейшего анализа или задач машинного обучения. В этой статье мы рассмотрим различные методы выполнения этой задачи. Мы предоставим примеры кода для каждого метода, чтобы продемонстрировать их использование. Давайте погрузимся!
Методы преобразования строк в категории или целые числа:
Метод 1: использование функции astype() Pandas
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({'Category': ['A', 'B', 'C', 'A', 'B']})
# Convert 'Category' column to category type
df['Category'] = df['Category'].astype('category')
# Print the converted DataFrame
print(df)
Метод 2: использование функции pandas.factorize()
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({'Category': ['A', 'B', 'C', 'A', 'B']})
# Convert 'Category' column to integer labels
df['Category'] = pd.factorize(df['Category'])[0]
# Print the converted DataFrame
print(df)
Метод 3: использование LabelEncoder sklearn
from sklearn.preprocessing import LabelEncoder
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({'Category': ['A', 'B', 'C', 'A', 'B']})
# Create an instance of LabelEncoder
label_encoder = LabelEncoder()
# Fit and transform the 'Category' column
df['Category'] = label_encoder.fit_transform(df['Category'])
# Print the converted DataFrame
print(df)
Метод 4. Использование пользовательского словаря сопоставления
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({'Category': ['A', 'B', 'C', 'A', 'B']})
# Define a mapping dictionary
mapping = {'A': 0, 'B': 1, 'C': 2}
# Map the values using the mapping dictionary
df['Category'] = df['Category'].map(mapping)
# Print the converted DataFrame
print(df)
Метод 5. Использование словарного понимания
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({'Category': ['A', 'B', 'C', 'A', 'B']})
# Create a dictionary mapping the unique values to integers
mapping = {val: i for i, val in enumerate(df['Category'].unique())}
# Map the values using the dictionary
df['Category'] = df['Category'].map(mapping)
# Print the converted DataFrame
print(df)
В этой статье мы рассмотрели несколько методов преобразования строк в категории или целые числа в DataFrames Python. Мы обсудили использование встроенных функций, таких как astype(), Factorize() и LabelEncoder из библиотеки sklearn. Кроме того, мы продемонстрировали, как использовать собственный словарь сопоставления и понимание словаря для достижения желаемых преобразований. Используя эти методы, вы можете эффективно преобразовывать строковые значения в числовые представления для дальнейшего анализа или задач машинного обучения.
Надеюсь, эта статья даст вам полное представление о различных методах преобразования строк в категории или целые числа в DataFrames Python. Приятного кодирования!