Vizualizace dat v DataFramech

Úvod do vizualizace dat v Julii

Gustavo Vieira Suñe

Data Analyst

Datová sada pojištění

  • DataFrame insurance
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
... ... ... ... ... ... ...

 

  • DataFramy jsou flexibilní a efektivní pro tabulková data
    • StatsPlots obsahuje recept pro vizualizaci dat z DataFramů
    • Představujeme notaci @df!
Úvod do vizualizace dat v Julii

Extrakce polí z DataFramu

  • Průměrné náklady podle regionu a stavu kuřáka
# Group by region and smoker
grouped = groupby(insurance, [:Region, :Smoker])

# Calculate mean charges grouped_mean_charges = combine(grouped, :Charges => mean)
  • Každý sloupec vrací pole dat
    • Například grouped_mean_charges.Region vrátí pole řetězců s názvy regionů.
Úvod do vizualizace dat v Julii

Vizualizace dat z polí

# Grouped bar chart
groupedbar(

# Pass arrays as arguments 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)")

Skupinový sloupcový graf zobrazující pojistné pro každý region rozdělené podle stavu kuřáka.

Úvod do vizualizace dat v Julii

Vizualizace přímo z DataFramu

# Plot from DataFrame
@df grouped_mean_charges groupedbar(

# Pass column names :Region, :Charges_mean,
group=:Smoker,
color=[:teal :orangered2], linewidth=0, legend_title="Smoker", legend_position=:outertopright) xlabel!("Region") ylabel!("Insurance Premium (USD)")

Skupinový sloupcový graf zobrazující pojistné pro každý region rozdělené podle stavu kuřáka.

Úvod do vizualizace dat v Julii

Srovnání vedle sebe

# Grouped bar chart
groupedbar(

# Pass arrays as arguments 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)")
# Plot from DataFrame
@df grouped_mean_charges groupedbar(

# Pass column names :Region, :Charges_mean, group=:Smoker,
color=[:teal :orangered2], linewidth=0, legend_title="Smoker", legend_position=:outertopright) xlabel!("Region") ylabel!("Insurance Premium (USD)")
Úvod do vizualizace dat v Julii

Řetězení příkazů pro DataFrame

  • Předchozí postup

    # Group by region and smoker
    grouped = groupby(insurance, [:Region, :Smoker])
    # Calculate mean charges
    grouped_mean_charges = combine(grouped, :Charges => mean)
    
  • Použití řetězení

    using Chain
    # Chain groupby and combine
    grouped_mean_charges = @chain insurance begin
      groupby([:Region, :Smoker])
      combine(:Charges => mean)
    end
    
Úvod do vizualizace dat v Julii

Řetězení vizualizace

# Plotting chain
@chain insurance begin
    # Manipulate data
    groupby([:Region, :Smoker])
    combine(:Charges => mean)

# Plot data @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)")

Skupinový sloupcový graf zobrazující pojistné pro každý region rozdělené podle stavu kuřáka.

Úvod do vizualizace dat v Julii

Pojďme si procvičit!

Úvod do vizualizace dat v Julii

Preparing Video For Download...