Fonction définie par l’utilisateur pour créer des graphiques
Dans le dernier exercice, vous avez écrit ce code pour produire le graphique :
# Subset tech and fmcg companies
subset_dat = dataset.loc[dataset["comp_type"].isin(["tech", "fmcg"])]
# Compute yearly average gross margin ratio of tech and fmcg companies
subset_dat_avg = subset_dat.pivot_table(index=["Year", "comp_type"], values = "gross_margin").reset_index()
# Add column company
subset_dat_avg["company"] = np.where(subset_dat_avg["comp_type"]=="tech", "Avg tech", "Avg fmcg")
# Concat the DataFrames
plot_df = pd.concat([subset_dat, subset_dat_avg], axis=0)
# Make the plot
sns.relplot(data=plot_df.reset_index(drop=True), x="Year", y="gross_margin", hue="company", col="comp_type", kind="line")
plt.show()
plt.close()
Remarquez que nous effectuons les mêmes actions sur les DataFrames « tech » et « FMCG » dans cet exercice. C’est répétitif et cela va à l’encontre du principe DRY — Don’t repeat yourself. Le code répétitif est à éviter car il augmente votre charge de travail et rend votre code plus sujet aux erreurs. Dans cet exercice, vous allez définir votre propre fonction pour traiter les données et tracer les figures.
Cet exercice fait partie du cours
Analyser les états financiers en Python
Exercice interactif pratique
Passez de la théorie à la pratique avec l’un de nos exercices interactifs
Commencer l’exercice