[TIL] articles 데이터 전처리 및 EDA(2024-07-24)에서 이어짐
.iloc
를 이용하여 인덱스 기준 인덱싱을 통해 각 행에 해당하는 대/중분류명을 붙여줌
# 재분류한 상품타입 대-중-소 파일 불러오기
prod_type = pd.read_csv('../data/hnm/prod_type.csv', sep='\t')
prod_type
# 대분류 만드는 함수 - 인덱스 이용
def prod_type_big(x):
for i in range(prod_type.shape[0]):
for ps in prod_type.iloc[i, -1].split(','):
ps = ps.strip()
if x == ps:
return prod_type.iloc[i, 0]
# 중분류 만드는 함수 - 인덱스 이용
def prod_type_mid(x):
for i in range(prod_type.shape[0]):
for ps in prod_type.iloc[i, -1].split(','):
ps = ps.strip()
if x == ps:
return prod_type.iloc[i, 1]
# 대분류, 중분류 생성
article6['product_type_big'] = article6['product_type_name'].apply(lambda x : prod_type_big(x))
article6['product_type_mid'] = article6['product_type_name'].apply(lambda x : prod_type_mid(x))
데이터와 이미지를 기준으로 색상 및 패턴을 분류하는 방법은 수기밖에 없음
명도와 그래픽 패턴을 눈으로 판단하여 분류하는 것에는 한계가 있다 생각하여 drop을 결정
# 색상, 패턴의 undefined, unknown 제거
color_master_unknown_cond = (article6['perceived_colour_master_name'] != 'Unknown') & (article6['perceived_colour_master_name'] != 'undefined')
color_value_unknown_cond = (article6['perceived_colour_value_name'] != 'Unknown') & (article6['perceived_colour_value_name'] != 'Undefined')
graphic_unknown_cond = (article6['graphical_appearance_name'] != 'Unknown')
104450 rows × 12 columns
article_id
product_code
product_name
index_group_name
index_name
section_name
product_type_big
product_type_mid
product_type_small
graphical_appearance_name
perceived_colour_value_name
perceived_colour_master_name