본문 바로가기
[업무 지식]/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()

'[업무 지식] > Python' 카테고리의 다른 글

[Unstack] 데이터 재구조화  (0) 2024.11.28
[시계열분석] polyfit, propher  (0) 2024.11.26
[Scaler] StandardScaler, MinMaxScaler  (0) 2024.11.22
[2차원 배열 저장] for문  (0) 2024.11.21
[이상치 처리] Python  (0) 2024.11.07