Comment créer une pyramide des âges en Python
Une pyramide des âges est un graphique qui montre la répartition par âge et par sexe d’une population donnée. C’est utile pour comprendre la composition d’une population et la tendance de la croissance démographique.
Ce tutoriel explique comment créer la pyramide des âges suivante en Python :
Pyramide des âges en Python
Supposons que nous disposions de l’ensemble de données suivant qui affiche la population totale d’hommes et de femmes par groupe d’âge pour un pays donné :
#import libraries import numpy as np import pandas as pd import matplotlib.pyplot as plt #create dataframe df = pd.DataFrame({'Age': ['0-9','10-19','20-29','30-39','40-49','50-59','60-69','70-79','80-89','90+'], 'Male': [9000, 14000, 22000, 26000, 34000, 32000, 29000, 22000, 14000, 3000], 'Female': [8000, 15000, 19000, 28000, 35000, 34000, 28000, 24000, 17000, 5000]}) #view dataframe df Age Male Female 0 0-9 9000 8000 1 10-19 14000 15000 2 20-29 22000 19000 3 30-39 26000 28000 4 40-49 34000 35000 5 50-59 32000 34000 6 60-69 29000 28000 7 70-79 22000 24000 8 80-89 14000 17000 9 90+ 3000 5000
Nous pouvons utiliser le code suivant pour créer une pyramide des âges pour les données :
#define x and y limits y = range(0, len(df)) x_male = df['Male'] x_female = df['Female'] #define plot parameters fig, axes = plt.subplots(ncols=2, sharey=True, figsize=(9, 6)) #specify background color and plot title fig.patch.set_facecolor('xkcd:light grey') plt.figtext(.5,.9,"Population Pyramid ", fontsize=15, ha='center') #define male and female bars axes[0].barh(y, x_male, align='center', color='royalblue') axes[0].set(title='Males') axes[1].barh(y, x_female, align='center', color='lightpink') axes[1].set(title='Females') #adjust grid parameters and specify labels for y-axis axes[1].grid() axes[0].set(yticks=y, yticklabels=df['Age']) axes[0].invert_xaxis() axes[0].grid() #display plot plt.show()
Le graphique montre que la répartition des hommes et des femmes est assez symétrique, la majeure partie de la population se situant dans la tranche d’âge moyen. En regardant simplement ce graphique, nous pouvons avoir une bonne idée de la démographie de ce pays particulier.
Notez que vous pouvez ajuster les couleurs de l’arrière-plan du tracé et des barres individuelles en spécifiant les couleurs dans la liste de couleurs matplotlib .
Par exemple, nous pourrions spécifier « hotpink » et « dodgerblue » à utiliser avec un fond « beige » :
fig.patch.set_facecolor('xkcd:beige')
axes[0].barh(y, x_male, align='center', color='dodgerblue')
axes[1].barh(y, x_female, align='center', color='hotpink')
plt.show()
N’hésitez pas à modifier la palette de couleurs en fonction de ce qui vous semble le mieux.