[업무 지식]/Python
[범주형 인코딩] LabelEncoder, OnehotEncording
by 에디터 윤슬
2024. 11. 23.
함수 정리
def get_category(df):
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
col = ['BLDG_NM']
le = LabelEncoder()
oe = OneHotEncoder()
for column in col:
le.fit(df[column])
new_column = f'{column}_le'
df[new_column] = le.transform(df[column])
# index reset
df = df.reset_index()
for column1 in col:
# 원핫인코딩은 array 행렬로 만드니, 추가 작업 필요
# 컬럼을 자동으로 생성하니까 따로 추가할 필요 없음
oe.fit(df[[column1]])
embarked_csr = oe.transform(df[[column1]])
embarked_csr_df = pd.DataFrame(embarked_csr.toarray(), columns = oe.get_feature_names_out())
df = pd.concat([df, embarked_csr_df], axis = 1)
return df
get_category(df_anal)
df_anal.head()