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

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()

Pyramide des âges en Python

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()

Pyramide des âges en python avec une palette de couleurs différente

N’hésitez pas à modifier la palette de couleurs en fonction de ce qui vous semble le mieux.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *