¿Cómo crear una pirámide de población en Python?

Una pirámide de población es un gráfico que muestra la distribución por edad y sexo de una población determinada. Es útil para comprender la composición de una población y la tendencia de crecimiento de la población.

Este tutorial explica cómo crear la siguiente pirámide de población en Python:

Pirámide de población en Python

Pirámide de población en Python

Supongamos que tenemos el siguiente conjunto de datos que muestra la población total de hombres y mujeres por grupo de edad para un país determinado:

#import libraries  
import numpy as np
import pandas as pd 
import matplotlib.pyplot as plt

# Crear 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]})
#ver marco de datos 
df

    Edad Masculino Femenino
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

Podemos usar el siguiente código para crear una pirámide de población para los datos:

#definir límites para x and y
y = range(0, len(df))
x_male = df['Male']
x_female = df['Female']

#define los parámetros de la trama
fig, axes = plt.subplots(ncols=2, sharey=True, figsize=(9, 6))


#especifique el color de fondo y el título de la trama
fig.patch.set_facecolor('xkcd:light grey')
plt.figtext(.5,.9,"Population Pyramid ", fontsize=15, ha='center')
    
#definir barras masculinas y femeninas
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')

# ajuste los parámetros de la cuadrícula y especifique etiquetas para el eje y
axes[1].grid()
axes[0].set(yticks=y, yticklabels=df['Age'])
axes[0].invert_xaxis()
axes[0].grid()

#display plot 
plt.show()

Pirámide de población en Python

En el gráfico podemos ver que la distribución de hombres y mujeres es bastante simétrica, con la mayoría de la población en los tramos de mediana edad. Con solo mirar esta trama, podemos tener una idea decente sobre la demografía de este país en particular.

Tenga en cuenta que puede ajustar los colores del fondo de la trama y las barras individuales especificando colores de la lista de colores de matplotlib .

Por ejemplo, podríamos especificar ‘hotpink’ y ‘dodgerblue’ para usarse con un fondo ‘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()

Pirámide de población en python con diferente esquema de color.

Siéntase libre de modificar el esquema de color según lo que crea que se ve mejor.

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

2 comentarios en «¿Cómo crear una pirámide de población en Python?»

Deja un comentario