data-science-summary/summary

문자형을 인트형로 바꾸는법 label encoder in python

고수트 2020. 9. 19. 17:14
반응형

<엔지니어는 구현을 못하면 모르는것이다>

label encoder

문자형을 인트형으로 변형해줌

문자형을 숫자형으로 LabelEncoder 를 통해 변형시킨뒤 이를 OneHotEncoder 로 하는것이 젤 정확할듯.

from sklearn import preprocessing
X = ["paris", "paris", "tokyo", "amsterdam"]
le = preprocessing.LabelEncoder()
le.fit(X)
# 클래스 종류
le.classes_
le.transform(["paris", "paris", "tokyo", "amsterdam"])

le.inverse_transform([0, 0, 1, 2])

# 만약 두개의 컬럼을 조합하여 라벨링 하고 싶다면
import pandas as pd
import numpy as np
X1 = X
X2 = X[::-1]
X12 = np.array([X1,X2]).T.tolist()
df = pd.DataFrame(X12, columns=['x1','x2'])
temp = pd.DataFrame(df.groupby(['x1','x2']).count().index.values, columns=['x12'])
df['con'] = le.fit_transform(temp.x12.astype('str'))
df
반응형