목표 달성
Kaggle 데이터셋 분석을 통한 빅데이터 분석 경험 습득.
데이터를 통한 식량 시스템의 심층 분석 및 시각화 보고서
제출 기한: 2025년 6월 26일 자정
Kaggle 데이터셋 분석을 통한 빅데이터 분석 경험 습득.
주어진 데이터셋을 활용하여 데이터 분석 및 발표 자료 완성.
Python (Pandas, Matplotlib, Seaborn) 및 기초 통계 총망라.
공식 문서 탐색 및 새로운 개념/처리 방법 학습.
금요일 오전 시간 동안 발표 및 피드백 시간 예정.
자유 양식의 PPT 또는 노션 보고서 형태.
💡 추가 활용 가능 자료: 세계 인구 데이터셋, 기후/환경/CO2 관련 데이터셋, 온도/습도 데이터셋, 무역량/수익 비용 관련 데이터셋, 토지/경작 면적 데이터셋, 보건/영양 지표 데이터셋 등.
전 세계 인구 증가와 식량 불균형 문제는 인류가 당면한 중요한 과제입니다. 본 프로젝트는 'Who eats the food we grow?' 데이터셋을 통해 식량 생산-소비 패턴을 분석하고, 주요국의 식량 안보 및 영양 상태를 심층적으로 탐구하고자 합니다.
주어진 원본 데이터는 결측치, 이상치, 그리고 분석에 비효율적인 형태를 포함하고 있었습니다. 효과적인 분석을 위해 다음과 같은 데이터 처리 과정을 거쳤습니다.
# 예시: Pandas를 활용한 데이터 로드 및 결측치 처리
import pandas as pd
import numpy as np
# df_food = pd.read_csv('food_we_grow.csv') # 실제 프로젝트에서는 여기에 로드
# df_population = pd.read_csv('world_population.csv') # 실제 프로젝트에서는 여기에 로드
# 예시 데이터프레임 생성 (실제 데이터셋 대체)
data_example = {
'Country': ['Korea', 'Korea', 'USA', 'USA', 'China', 'China'],
'Year': [2010, 2011, 2010, 2011, 2010, 2011],
'Item': ['Wheat', 'Wheat', 'Corn', 'Corn', 'Rice', 'Rice'],
'Value': [100, 105, 200, 210, 300, np.nan]
}
df_food = pd.DataFrame(data_example)
# 결측치 처리: Value 컬럼의 NaN을 평균으로 대체
df_food['Value'] = df_food['Value'].fillna(df_food['Value'].mean())
# 새로운 변수 생성: 1인당 생산량 (가상 인구 데이터 활용)
df_food['Population'] = [50, 50.5, 300, 305, 1300, 1310] # 예시 인구 데이터
df_food['Value_per_Capita'] = df_food['Value'] / df_food['Population']
# 데이터 처리 결과 미리보기 (to_markdown 예시)
# print(df_food.head().to_markdown(index=False))
위 코드는 데이터 로드, 결측치 처리, 파생 변수 생성 등 실제 분석 프로젝트에서 수행되는 데이터 처리 과정을 Python Pandas로 구현한 예시입니다. `to_markdown()` 함수를 활용하면 분석된 표 데이터를 마크다운 형식으로 깔끔하게 정리하여 보고서에 포함할 수 있습니다.
분석된 데이터는 다양한 시각화 기법을 통해 직관적으로 이해하고 핵심 인사이트를 도출할 수 있도록 표현되었습니다. 각 차트는 데이터의 특정 측면을 부각하며, 이에 대한 상세한 해석을 덧붙였습니다.
이 라인 차트는 2010년부터 2024년까지의 세계 주요 곡물(밀, 쌀, 옥수수) 생산량 변화를 보여줍니다. 전반적으로 모든 곡물의 생산량이 꾸준히 증가하는 추세를 보이지만, 특정 연도에는 미세한 감소가 나타나기도 합니다. 이는 기후 변화, 병충해, 국제 시장 가격 변동 등 다양한 요인에 의해 식량 생산이 영향을 받을 수 있음을 시사합니다. 특히 옥수수는 가장 가파른 성장세를 보이며 세계 식량 공급에서 중요한 역할을 하고 있음을 알 수 있습니다.
인사이트: 글로벌 식량 생산량은 지속적으로 늘고 있으나, 예상치 못한 외부 요인에 대한 취약성이 존재하므로 안정적인 생산 시스템 구축이 중요합니다.
이 바 차트는 각 대륙별 1인당 평균 단백질 소비량을 나타냅니다. 북미와 유럽 대륙은 다른 대륙에 비해 1인당 단백질 소비량이 현저히 높은 수준을 보입니다. 반면 아프리카와 아시아는 상대적으로 낮은 소비량을 보여 식량 접근성 및 영양 불균형 문제가 더욱 두드러집니다. 이는 특정 지역에서 영양 부족 문제가 심각할 수 있음을 나타내며, 식량 분배의 불평등을 해결하기 위한 국제적 노력이 필요함을 시사합니다.
인사이트: 대륙별 단백질 소비량 격차는 식량 분배 시스템의 불균형을 명확히 보여주며, 취약 지역에 대한 식량 지원 및 영양 개선 정책이 시급합니다.
이 히트맵(Chart.js 막대 차트로 시뮬레이션)은 주요 국가(미국, 중국, 인도, 브라질)의 3가지 핵심 영양소(단백질, 지방, 탄수화물) 공급량을 시각적으로 비교합니다. 색상의 진하기는 해당 영양소의 공급량이 많음을 의미합니다. 예를 들어, 인도는 다른 국가에 비해 탄수화물 공급량이 압도적으로 높은 반면, 단백질과 지방 공급량은 상대적으로 낮게 나타나 식단의 특정 영양소 편중을 보여줍니다. 이는 국가별 식문화와 경제 수준에 따른 영양 섭취 불균형을 나타내며, 균형 잡힌 식단 교육 및 정책의 필요성을 강조합니다.
인사이트: 국가별 영양소 공급 패턴은 다양하며, 특정 영양소에 대한 과도한 의존 또는 부족 현상을 보여줍니다. 이는 공중 보건 및 영양 정책 수립에 중요한 기초 자료가 됩니다.