Как создать пирамиду населения в Python

Как создать пирамиду населения в Python

Пирамида населения — это график, показывающий распределение населения по возрасту и полу. Это полезно для понимания состава населения и тенденции роста населения.

В этом руководстве объясняется, как создать следующую пирамиду населения в Python:

Пирамида населения в Python

Пирамида населения в Python

Предположим, у нас есть следующий набор данных, который отображает общую численность мужчин и женщин по возрастным группам для данной страны:

#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

Мы можем использовать следующий код для создания пирамиды населения для данных:

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

#display plot
plt.show() 
Пирамида населения в Python

Из графика видно, что распределение мужчин и женщин довольно симметрично, при этом большая часть населения попадает в группы среднего возраста. Просто взглянув на этот график, мы можем получить хорошее представление о демографии этой конкретной страны.

Обратите внимание, что вы можете настроить цвета фона графика и отдельных полос, указав цвета из списка цветов matplotlib .

Например, мы можем указать «hotpink» и «dodgerblue» для использования с «бежевым» фоном:

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() 
Пирамида населения в питоне с другой цветовой схемой

Не стесняйтесь изменять цветовую схему в зависимости от того, что, по вашему мнению, выглядит лучше всего.

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.