카테고리 없음

9주차 TIL - 대시보드 뿌수기 전 한번 더 EDA

게임취업하고싶은 사람 2025. 3. 5. 21:32

# 유사한 색상 정리를 위한 정규화 함수 (공백, 하이픈 정리 및 철자 오류 수정)
def normalize_color_name_advanced(color_name):
    # 소문자로 변환
    color_name = color_name.lower()
    # 공백, 하이픈(-), 밑줄(_)을 통일
    color_name = re.sub(r'[\s_-]+', '-', color_name)
    # 철자 오류 수정
    color_name = re.sub(r'\byello\b', 'yellow', color_name)  # yello -> yellow
    color_name = re.sub(r'\bpale -', 'pale-', color_name)  # pale -yellow -> pale-yellow
    # 앞뒤 공백 제거
    color_name = color_name.strip()
    return color_name

# 컬러 값 정규화 적용
csv_data["Color"] = csv_data["Color"].dropna().apply(normalize_color_name_advanced)

# 정리된 고유 색상 목록 확인
normalized_colors_advanced = csv_data["Color"].unique()

# 유사한 색상을 그룹핑할 사전 생성 (최종 정리된 매핑 적용)
color_mapping_final = {
    "green": "Green",
    "blue-green": "Green",
    "pale-green": "Pale-Green",
    "yellow-green": "Yellow-Green",
    "yello-green": "Yellow-Green",
    "blue": "Blue",
    "brown": "Brown",
    "dark-brown": "Brown",
    "pale-brown": "Pale-Brown",
    "yellow": "Yellow",
    "golden": "Yellow",
    "pale-yellow": "Pale-Yellow",
    "pale-yellowish": "Pale-Yellow",
}

# 정리된 컬러 매핑 적용
csv_data["Color"] = csv_data["Color"].replace(color_mapping_final)

# 정리된 CSV 데이터 저장
processed_csv_final_path = "/mnt/data/processed_coffee_data_with_corrected_colors.csv"
csv_data.to_csv(processed_csv_final_path, index=False)

# 파일 경로 제공
processed_csv_final_path