10일차 데이터분석, 시각화

차지예·2025년 5월 26일

생성AI

목록 보기
10/56
post-thumbnail

Pandas - plotly 설정

대륙별 평균 기대수명 변화 시각화

Plotly를 활용해 대륙별 평균 기대수명의 변화를 선그래프로 시각화
데이터는 유명한 gapminder 데이터셋을 사용했다.


사용 데이터: Gapminder

  • year: 연도
  • continent: 대륙
  • lifeExp: 기대수명

데이터 전처리

groupby를 사용해 연도별·대륙별 평균 기대수명을 구한다.

df_grouped = df.groupby(["year", "continent"])["lifeExp"].mean().reset_index()
  • groupby(["year", "continent"]): 연도와 대륙을 기준으로 그룹화
  • ["lifeExp"].mean(): 기대수명의 평균을 계산
  • reset_index(): 그룹화 후 생긴 멀티 인덱스를 다시 일반 열로 변환

시각화 코드(plotly)

import plotly.express as px

fig = px.line(
    df_grouped,
    x="year",
    y="lifeExp",
    color="continent",
    markers=True,
    title="대륙별 평균 기대수명 변화",
    template="ggplot2"
)
  • px.line()으로 선 그래프 생성
  • color="continent" 옵션으로 대륙별 구분
  • markers=True로 각 지점에 점 표시
  • template="ggplot2"로 보기 좋은 테마 적용

레이아웃 설정

fig.update_layout(
    xaxis=dict(
        title="연도",
        showgrid=True,        # 주요 눈금에 격자 표시
        minor_showgrid=True,  # 보조 눈금
        gridcolor="lightgray",
        showline=True,
        linecolor="black",
        ticks="outside"
    ),
    yaxis=dict(
        title="평균 기대수명",
        showgrid=True,
        minor_showgrid=True,
        gridcolor="lightgray",
        showline=True,
        linecolor="black",
        ticks="outside"
    )
)

결과

대륙별 평균 기대수명 선그래프는
전 세계적으로 기대수명이 향상되고 있으나,
지역별 격차는 여전히 존재하며
특히 아프리카의 기대수명은 상대적으로 낮은 수준임을 보여준다.
이러한 정보는 국제 보건정책, 개발지원 전략 등에 중요한 기준이 된다.


2007년 세계 국가별 1인당 GDP vs 기대수명 (인구 크기 반영)

버블의 크기는 인구(Population), 색상은 대륙(Continent)을 나타냅니다.

사용 데이터

컬럼명의미
gdpPercap1인당 GDP
lifeExp기대수명
pop인구
continent대륙
year연도

df = px.data.gapminder()
df_2007 = df[df["year"] == 2007]

2007년 데이터만 필터링


시각화 코드

fig = px.scatter(
    df_2007,
    x="gdpPercap",
    y="lifeExp",
    size="pop",               # 버블 크기: 인구 수
    color="continent",        # 색상: 대륙
    hover_name="country",     # 마우스 오버시 국가 이름 표시
    size_max=60,
    log_x=True,               # x축: 로그 스케일
    title="2007년 국가별 1인당 GDP vs 기대수명 (버블 크기=인구)",
    template="plotly_white"
)

fig.update_layout(
    xaxis_title="1인당 GDP (log scale)",
    yaxis_title="기대수명",
    legend_title="대륙"
)
  • size="pop": 인구가 많은 국가일수록 더 큰 버블
  • color="continent": 대륙별로 색상 구분
  • log_x=True: GDP의 스케일이 커서 로그 스케일로 가독성 향상
  • hover_name="country": 마우스를 갖다대면 국가 이름 표시

### 시각화에서 알 수 있는 사실 ✅ 아프리카 국가들은 낮은 GDP와 낮은 기대수명 → 개발 수준 미흡 ✅ 유럽과 아시아의 선진국은 높은 GDP와 높은 기대수명 → 삶의 질 향상


결과

❓경제력과 기대수명은 어떤 관계일까?
전반적으로 양의 상관관계가 있다. 1인당 GDP가 높은 국가일수록 기대수명이 높다.
예: 노르웨이, 일본, 스위스 등은 GDP도 높고 기대수명도 높음
반대로 GDP가 낮은 아프리카 일부 국가는 기대수명이 50세 내외로 짧음
→ 의료 수준, 교육, 복지 인프라가 경제력과 함께 개선되기 때문입니다.

0개의 댓글