Flux de travail efficace

Manipulation de données en Julia

Katerina Zahradova

Instructor

Conseils de nommage

  • Des noms courts et parlants
    • wages plutôt que df
    • wages plutôt que us_min_wages_data_between_1968_and_2020_with_inflation_adjusted_column
  • Suivez des conventions/modèles de nommage
    • mélanger state_wage_2020 et effective.2020.dollars est difficile à retenir
    • idem pour les majuscules, évitez state, Year et REGION dans le même DataFrame
Manipulation de données en Julia

Trop de variables

  • Ne créez pas trop de nouvelles variables

    • encombre la mémoire
    • chaos : quelle différence entre wages_no_missing, wages_missing_state_only, wages_original_no_missing, wages_state_mean_no_missing, etc.
  • Écrasez ! Utilisez select!(), transform!(), etc.

  • Utilisez les macros chain pour éviter de multiplier les versions d'un même jeu de données
Manipulation de données en Julia

Variables au lieu de coder en dur

  • Des variables plutôt que du codage en dur
# Mieux
replace_missing = 0

replace!(df.col1, missing => replace_missing)
replace!(df.col2, missing => replace_missing)

# Qu'en
replace!(df.col1, missing => 0)
replace!(df.col2, missing => 0)
Manipulation de données en Julia

Faites-en une fonction

  • Écrivez une fonction au lieu de répéter le même code encore et encore !
    • les fonctions évitent les coquilles
    • une fois prêtes, elles sont plus rapides à utiliser
# Fonction pour tracer plusieurs courbes avec étiquettes
function make_line_plot(xs, ys,labels; xlabel="", ylabel="", title="")
    p = plot(title = title, xlabel = xlabel, ylabel = ylabel)
    for (x, y, label) in zip(xs, ys, labels)
        plot!(x, y, label=label)
    end
    p
end
Manipulation de données en Julia

Commentez et documentez

  • Commentez ce que vous faites
# Normaliser les noms
rename!(df, :ColumnOne => :col_1)

# Lignes avec entreprise manquante
df[ismissing.(df.company),:]

# Pivot selon l'année et l'État
unstack(wages, :year, :state, :eff_min_wage)
  • Documentez pourquoi vous faites les choses
# Remplacer les salaires manquants par le minimum
# Comme pire scénario
min = minimum(skipmissing(df.wages))
replace!(df.wages, missing => min)

# Jointure avec les pays
# Pour étudier l'effet des pays sur la qualité
leftjoin(company, countries, on=:location)
Manipulation de données en Julia

Faites connaissance avec les données

  • Prenez le temps de comprendre les données
    • Plus facile d'en tirer de l'info ensuite
    • Faites des graphiques, affichez des résultats, ...

Familiarisez-vous avec vos données

1 Photo de Myriam Jessier sur Unsplash
Manipulation de données en Julia

Demandez de l'aide !

Logos de Google, Stack Overflow, DataCamp

Manipulation de données en Julia

Amusez-vous !

  • Amusez-vous, ne lâchez pas, et profitez-en !
Manipulation de données en Julia

Retards de vol dans les aéroports américains

Structure des données de vol

Manipulation de données en Julia

Passons à la pratique !

Manipulation de données en Julia

Preparing Video For Download...