Как применить LabelEncoder для определенного столбца в кадре данных Pandas

У меня есть набор данных, загруженный в dataframe, где метка класса должна быть закодирована с использованием LabelEncoder из scikit-учиться. Колонка label столбец метки класса, который имеет следующие классы:

[‘Standing’, ‘Walking’, ‘Running’, ‘null’]

Чтобы выполнить кодирование метки, я попробовал следующее, но это не работает. Как я могу это исправить?

from sklearn import preprocessing
import pandas as pd

df = pd.read_csv('dataset.csv', sep=',') 
df.apply(preprocessing.LabelEncoder().fit_transform(df['label']))

3 ответа

Решение

Вы можете попробовать следующее:

le = preprocessing.LabelEncoder()
df['label'] = le.fit_transform(df.label.values)

Или следующее тоже будет работать:

df['label'] = le.fit_transform(df['label'])

Это заменит оригинал label значения в кадре данных с закодированными метками.

Вы также можете:

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df.col_name= le.fit_transform(df.col_name.values)

где col_name = функция, которую вы хотите пометить для кодирования

       from sklearn.preprocessing import LabelEncoder
 le = LabelEncoder()
 X[:, 2] = le.fit_transform(X[:, 2]) 

это может быть полезно, если вы хотите изменить конкретный столбец в данных CSV.

Другие вопросы по тегам