Як створити піраміду населення в 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()
На графіку видно, що розподіл чоловіків і жінок є досить симетричним, причому більшість населення потрапляє в групу середнього віку. Просто подивившись на цей графік, ми можемо отримати гарне уявлення про демографію цієї конкретної країни.
Зауважте, що ви можете налаштувати кольори фону графіка та окремих смуг, вказавши кольори у списку кольорів 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()
Не соромтеся змінювати палітру кольорів залежно від того, що вам найбільше подобається.