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
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()
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()
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.
Hola buenas tardes
La sintaxis esta mal si se quiere implemetar en python.
Muchas gracias
Muchas gracias Yuly. Ya hemos corregido el código de Python.