Як створити піраміду населення в 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()

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

Піраміда населення Python з іншою палітрою кольорів

Не соромтеся змінювати палітру кольорів залежно від того, що вам найбільше подобається.

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *