Python'da nüfus piramidi nasıl oluşturulur?
Nüfus piramidi, belirli bir nüfusun yaş ve cinsiyet dağılımını gösteren bir grafiktir. Bu, nüfusun bileşimini ve nüfus artış eğilimini anlamak için faydalıdır.
Bu eğitimde Python’da aşağıdaki nüfus piramidinin nasıl oluşturulacağı açıklanmaktadır:
Python’daki yaş piramidi
Belirli bir ülke için yaş grubuna göre toplam kadın ve erkek nüfusunu gösteren aşağıdaki veri setine sahip olduğumuzu varsayalım:
#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
Verilere yönelik bir nüfus piramidi oluşturmak için aşağıdaki kodu kullanabiliriz:
#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()
Grafik, erkek ve kadın dağılımının oldukça simetrik olduğunu ve nüfusun çoğunun orta yaş grubuna girdiğini gösteriyor. Sadece bu grafiğe bakarak bu ülkenin demografisi hakkında iyi bir fikir edinebiliriz.
Matplotlib renk listesindeki renkleri belirterek çizim arka planının ve tek tek çubukların renklerini ayarlayabileceğinizi unutmayın.
Örneğin, “bej” arka planla kullanmak için “hotpink” ve “dodgerblue”yu belirtebiliriz:
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()
Size en iyi görünene göre renk paletini değiştirmekten çekinmeyin.