DataFrame에서 데이터 그리기

Julia로 시작하는 데이터 시각화

Gustavo Vieira Suñe

Data Analyst

보험 데이터셋

  • insurance DataFrame
Age Sex BMI Children Smoker Region Charges
19 female 27.90 0 yes southwest 16884.90
18 male 33.77 1 no southeast 1725.55
28 male 33.00 3 no southeast 4449.46
... ... ... ... ... ... ...

 

  • DataFrame은 표 형식 데이터에 유연하고 효율적입니다
    • StatsPlots에는 DataFrame 데이터를 그리는 레시피가 있습니다
    • @df 표기 도입!
Julia로 시작하는 데이터 시각화

DataFrame에서 배열 추출

  • 지역·흡연 상태별 평균 보험료
# 지역과 흡연자 기준 그룹화
grouped = groupby(insurance, [:Region, :Smoker])

# 평균 보험료 계산 grouped_mean_charges = combine(grouped, :Charges => mean)
  • 각 열은 데이터 배열을 제공합니다
    • 예: grouped_mean_charges.Region은 문자열로 된 지역 배열을 추출합니다.
Julia로 시작하는 데이터 시각화

배열에서 데이터 그리기

# 그룹형 막대그래프
groupedbar(

# 배열을 인수로 전달 grouped_mean_charges.Region, grouped_mean_charges.Charges_mean, group=grouped_mean_charges.Smoker,
color=[:teal :orangered2], linewidth=0, legend_title="Smoker", legend_position=:outertopright) xlabel!("Region") ylabel!("Insurance Premium (USD)")

각 지역의 보험료를 흡연 여부로 그룹화한 그룹형 막대그래프.

Julia로 시작하는 데이터 시각화

DataFrame에서 바로 그리기

# DataFrame에서 그리기
@df grouped_mean_charges groupedbar(

# 열 이름 전달 :Region, :Charges_mean,
group=:Smoker,
color=[:teal :orangered2], linewidth=0, legend_title="Smoker", legend_position=:outertopright) xlabel!("Region") ylabel!("Insurance Premium (USD)")

각 지역의 보험료를 흡연 여부로 그룹화한 그룹형 막대그래프.

Julia로 시작하는 데이터 시각화

나란히 비교

# 그룹형 막대그래프
groupedbar(

# 배열을 인수로 전달 grouped_mean_charges.Region, grouped_mean_charges.Charges_mean, group=grouped_mean_charges.Smoker,
color=[:teal :orangered2], linewidth=0, legend_title="Smoker", legend_position=:outertopright) xlabel!("Region") ylabel!("Insurance Premium (USD)")
# DataFrame에서 그리기
@df grouped_mean_charges groupedbar(

# 열 이름 전달 :Region, :Charges_mean, group=:Smoker,
color=[:teal :orangered2], linewidth=0, legend_title="Smoker", legend_position=:outertopright) xlabel!("Region") ylabel!("Insurance Premium (USD)")
Julia로 시작하는 데이터 시각화

DataFrame 명령 체이닝

  • 앞서서

    # 지역과 흡연자 기준 그룹화
    grouped = groupby(insurance, [:Region, :Smoker])
    # 평균 보험료 계산
    grouped_mean_charges = combine(grouped, :Charges => mean)
    
  • 대신 체이닝 사용

    using Chain
    # groupby와 combine 체이닝
    grouped_mean_charges = @chain insurance begin
      groupby([:Region, :Smoker])
      combine(:Charges => mean)
    end
    
Julia로 시작하는 데이터 시각화

플로팅 체인

# 플로팅 체인
@chain insurance begin
    # 데이터 가공
    groupby([:Region, :Smoker])
    combine(:Charges => mean)

# 데이터 그리기 @df groupedbar(:Region, :Charges_mean, group=:Smoker, color=[:teal :orangered2], linewidth=0, legend_title="Smoker", legend_position=:outertopright)
end xlabel!("Region") ylabel!("Insurance Premium (USD)")

각 지역의 보험료를 흡연 여부로 그룹화한 그룹형 막대그래프.

Julia로 시작하는 데이터 시각화

연습해 봅시다!

Julia로 시작하는 데이터 시각화

Preparing Video For Download...