Come creare una piramide della popolazione in python


Una piramide della popolazione è un grafico che mostra la distribuzione per età e sesso di una determinata popolazione. Ciò è utile per comprendere la composizione di una popolazione e il trend di crescita della popolazione.

Questo tutorial spiega come creare la seguente piramide della popolazione in Python:

Piramide delle età in Python

Piramide delle età in Python

Supponiamo di avere il seguente set di dati che mostra la popolazione totale di uomini e donne per fascia di età per un dato paese:

 #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

Possiamo utilizzare il seguente codice per creare una piramide della popolazione per i dati:

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

#displayplot
plt.show() 

Piramide delle età in Python

Il grafico mostra che la distribuzione di uomini e donne è abbastanza simmetrica, con la maggior parte della popolazione che rientra nella fascia di mezza età. Semplicemente guardando questo grafico, possiamo avere una buona idea della demografia di questo particolare paese.

Tieni presente che puoi regolare i colori dello sfondo della trama e delle singole barre specificando i colori nell’elenco dei colori matplotlib .

Ad esempio, potremmo specificare “hotpink” e “dodgerblue” da utilizzare con uno sfondo “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() 

Piramide della popolazione di pitoni con una tavolozza di colori diversa

Sentiti libero di cambiare la tavolozza dei colori in base a ciò che ti sembra migliore.

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *