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

Actualizado por ultima vez el 11 de agosto de 2022, por Dereck Amesquita.

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/

I’m a Bachelor of Economics gratuaded from the National University of San Agustin. I have experience in Python, R and other languages with aplications in Finance or Econometrics, I also have knowledge of statistics and econometrics. If you need help on some issues you can write to me.

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

Deja un comentario

Un intervalo de confianza es un rango de valores que probablemente contenga un parámetro de población con un cierto nivel…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!