[코드리뷰] 과일 품목 데이터 전처리와 EDA

2024. 4. 3. 03:36클론 코딩

코드를 따라가며 코드의 흐름을 파악하고 이해하며 학습

코드역할 및 내용을 코드 각줄의 주석과 마크다운으로 설명

 

마지막부분에 코드 아이디어 와 코드에 대한 평가를 진행

 

EDA_코드 공유.ipynb
2.03MB

 

이 코드는 제주도 유통 품목의 가격 데이터와 관련 국제 무역 데이터의 분석 과정이다. 첫 부분에서는 train.csv 데이터셋을 로드하고, 간단한 데이터 탐색 및 시각화를 수행하는 과정이 포함되어 있다. 여기서 각 품목, 유통 법인, 지역, 유통된 물량, 가격 등에 대한 정보를 살펴보고, 데이터를 통해 가격 분포와 물량과 가격 사이의 관계를 시각화하여 분석한다.

 

데이터셋에서 유통된 물량이 0인 데이터를 제외하는 단계를 거친 뒤, 유통 물량이 0이 아닌 데이터에 대해 추가 분석을 진행한다. 이 과정에서는 시간 데이터를 활용해 새로운 열을 생성하고, 제주도의 공휴일 여부를 나타내는 열을 추가하여 공휴일이 가격에 미치는 영향을 분석한다.

 

international_trade.csv 파일을 통해 수행된 국제 무역 데이터 분석에서는 관련 품목의 수출입 정보를 담은 데이터를 로드한 후, 분석에 필요한 특정 품목 데이터를 선택한다. "감귤", "브로콜리", "무", "당근", "양배추" 관련 데이터를 대상으로 수출 중량, 수출 금액, 수입 중량, 수입 금액, 무역수지의 분포를 시각화하며, 품목명을 조정하거나 통합하는 과정도 포함한다.

이상치를 제거한 후 남은 데이터의 분포를 분석하기 위한 시각화를 마지막으로 수행하며, 이 과정에서 품목별 무역수지의 분포를 다시 시각화하여 각 품목의 무역 동향을 비교 분석한다. 이 분석 과정에는 박스 플롯, 바이올린 플롯, 분포 플롯, 산점도 등 다양한 시각화 기법이 활용된다.

 

  1. 데이터 탐색과 전처리:
    • 먼저, train.csv 데이터셋을 불러와서 기본적인 데이터 구조를 살펴본다. 이 데이터셋에는 2019년부터 2023년까지의 제주도 유통 품목 가격 데이터가 포함되어 있다.
    • 데이터의 기본 정보를 확인한 후, 각 품목(item), 유통 법인(corporation), 지역(location), 유통 물량(supply(kg)), 가격(price(원/kg)) 등의 열에 대해 탐색하고, 데이터 타입을 확인한다. 특히, 날짜(timestamp) 열의 데이터 타입을 datetime으로 변경하여 시간 관련 정보를 더 쉽게 처리할 수 있게 한다.
    • 유통된 물량이 0인 데이터를 제외하여 분석의 정확도를 높인다. 이를 통해 유효한 데이터만을 대상으로 추가 분석을 진행할 준비를 한다.
  2. 시각화:
    • seaborn과 matplotlib 라이브러리를 사용하여 다양한 시각화를 수행한다. 품목별, 유통 법인별, 지역별 가격 분포를 박스 플롯으로 나타내고, 유통 물량과 가격 사이의 관계를 산점도로 시각화한다.
    • 공휴일 여부(holiday)를 추가하여 공휴일이 가격에 미치는 영향을 분석한다. 이를 위해 공휴일 데이터를 생성하고, 이를 기존 데이터에 통합한다.
    • 시간에 따른 가격 변동을 확인하기 위해 연도별, 월별 가격 분포를 바 차트로 시각화한다.
  3. 무역 데이터 분석:
    • international_trade.csv 파일에서 국제 무역 데이터를 불러온다. 이 데이터에는 품목별 수출입 중량과 금액, 무역수지 정보가 담겨 있다.
    • 관심 있는 품목("감귤", "브로콜리", "무", "당근", "양배추")만을 필터링하여 분석 대상으로 삼는다. 필요에 따라 품목명을 수정하거나 통합하여 분석의 일관성을 높인다.
    • 품목별 무역수지의 시간에 따른 변화를 선 그래프로 시각화하여 각 품목의 수출입 동향을 파악한다.
  4. 추가 분석 및 시각화:
    • 이상치를 제거하여 데이터의 정확도를 높이고, 최종적으로 남은 데이터에 대해 추가적인 시각화(바이올린 플롯, 분포 플롯 등)를 수행하여 데이터의 분포와 특성을 더 깊이 이해한다.
    • 마지막으로, 각 품목별 무역수지 분포를 다시 한번 시각화하여, 품목별 수출입 상황을 비교 분석한다.