케냐 외부 부채 추적: Python, PostgreSQL, Grafana를 활용한 데이터 분석
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
데이터 분석
대상자
데이터 엔지니어, 데이터 분석가, ETL 파이프라인 개발자
- 중급 이상의 Python 및 데이터 처리 경험자에게 적합
- 데이터 시각화 도구(Grafana)와 데이터베이스(PostgreSQL) 활용에 관심 있는 개발자에게 유용
핵심 요약
- Python과 Pandas를 사용하여 World Bank API에서 케냐 외부 부채 데이터를 추출 및 변환
requests
라이브러리와pandas
를 활용한 데이터 처리- PostgreSQL에 데이터를 저장 후 Grafana를 통해 차트 및 대시보드 생성
- 2010~2023년 기간 동안 케냐 외부 부채가 383% 증가하며, 2017년 선거 기간에 최고의 부채 증가율을 기록
- 2021~2023년 부채 성장률 감소로, 외부 차입 감소 또는 채무 서비스 압박 가능성을 시사
섹션별 세부 요약
1. 데이터 추출 및 변환
requests
라이브러리를 사용해 World Bank API에서 2010~2023년 케냐 외부 부채 데이터 수집params = {'date': '2010:2024', 'format': 'json'}
설정으로 데이터 요청- Pandas를 활용해 NaN 값 제거 및 데이터 정제
df.dropna(inplace=True)
로 결측치 처리
2. 데이터베이스 저장 및 시각화
- PostgreSQL에 데이터 저장 후 Grafana와 연동
create_engine(url)
을 통해 PostgreSQL 연결 및to_sql()
메서드로 테이블 생성- Grafana Cloud에서 PostgreSQL 데이터소스 연결 후 대시보드 생성
- 막대 차트를 통해 2014~2015, 2017~2018년 고부채 기간 확인
3. 분석 결과 및 인사이트
- 2010~2023년 외부 부채 383% 증가로, 개발 자금 확보를 위한 외부 차입 의존도 증가
- 2017년 선거 기간에 최고 부채 증가율 기록
- 2021~2023년 부채 성장률 감소로 채무 서비스 압박 또는 외부 차입 감소 가능성 제시
4. 기술적 도전과 한계
- 시간 형식 불일치, NaN 값 처리, 중첩된 JSON/XML 데이터 구조로 인한 처리 어려움
- 외부 부채 데이터만 사용하여 다른 부채 패턴 분석 불가능
5. 프로젝트 요약 및 학습 효과
- ETL 파이프라인 설계 경험 제공 (API 데이터 추출 → Pandas 변환 → PostgreSQL 저장 → Grafana 시각화)
requests
,pandas
,sqlalchemy
,Grafana
도구 활용- 데이터 엔지니어링 실무에 대한 기초를 다질 수 있는 프로젝트
결론
- ETL 파이프라인 구축을 위한 Python, Pandas, PostgreSQL, Grafana 활용이 핵심
requests.get(url, params=params)
로 API 데이터 요청,to_sql()
로 데이터베이스 저장- 부채 추세 분석 시 Grafana 차트를 통해 시간별, 연도별 비교 가능
- 2017년 선거 기간 부채 급증, 2021년 이후 성장률 감소 등 중요한 인사이트 도출
- 데이터 처리 시 결측치 및 형식 일관성에 주의, 다양한 데이터 소스 연동을 위한 확장 필요