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/
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.