Wizualizacja danych w DataFrames

Wprowadzenie do wizualizacji danych w Julii

Gustavo Vieira Suñe

Data Analyst

Zbiór danych ubezpieczeniowych

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

 

  • DataFrames są elastyczne i wydajne dla danych tabelarycznych
    • StatsPlots posiada recepturę do wizualizacji danych w DataFrames
    • Wprowadzenie notacji @df!
Wprowadzenie do wizualizacji danych w Julii

Wyodrębnianie tablic z DataFrame

  • Średnie składki według regionu i statusu palacza
# Group by region and smoker
grouped = groupby(insurance, [:Region, :Smoker])

# Calculate mean charges grouped_mean_charges = combine(grouped, :Charges => mean)
  • Każda kolumna zwraca tablicę danych
    • Na przykład grouped_mean_charges.Region zwraca tablicę zawierającą regiony jako ciągi znaków.
Wprowadzenie do wizualizacji danych w Julii

Wizualizacja danych w tablicach

# 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)")

Grupowany wykres słupkowy przedstawiający składki ubezpieczeniowe dla każdego regionu z podziałem według statusu palacza.

Wprowadzenie do wizualizacji danych w Julii

Wizualizacja bezpośrednio z DataFrame

# 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)")

Grupowany wykres słupkowy przedstawiający składki ubezpieczeniowe dla każdego regionu z podziałem według statusu palacza.

Wprowadzenie do wizualizacji danych w Julii

Porównanie obok siebie

# 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)")
Wprowadzenie do wizualizacji danych w Julii

Łańcuchowanie poleceń DataFrame

  • Poprzednie podejście

    # Group by region and smoker
    grouped = groupby(insurance, [:Region, :Smoker])
    # Calculate mean charges
    grouped_mean_charges = combine(grouped, :Charges => mean)
    
  • Użycie łańcuchowania

    using Chain
    # Chain groupby and combine
    grouped_mean_charges = @chain insurance begin
      groupby([:Region, :Smoker])
      combine(:Charges => mean)
    end
    
Wprowadzenie do wizualizacji danych w Julii

Łańcuch wizualizacji

# 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)")

Grupowany wykres słupkowy przedstawiający składki ubezpieczeniowe dla każdego regionu z podziałem według statusu palacza.

Wprowadzenie do wizualizacji danych w Julii

Czas na ćwiczenia!

Wprowadzenie do wizualizacji danych w Julii

Preparing Video For Download...