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

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

Python'daki yaş piramidi

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

Farklı bir renk paletiyle Python nüfus piramidi

Size en iyi görünene göre renk paletini değiştirmekten çekinmeyin.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir