Original size 840x1264

Доходы населения в Канаде

PROTECT STATUS: not protected
13

Введение

Недавно в поездке произошел интересный диалог со студентом из Канады. Стало очень интересно почему человек из Канады эмигрировал в Россию. Поэтому для анализа взята информация по экономическому благосостоянию населения, чтобы проанализировать экономическое состояние населения в Канаде.

Для картинок использовался Leonardo.AI promt: create an design a cover for a project to analyze the finances and well-being of the Canadian population without any text in red colour (в параметрах менялся лишь формат изображений)

big
Original size 1368x659

В своем анализе использован Income Survey | Finance Analysis, предоставленный Canadian Government [1]. Датасет содержит в себе данные о гендере, образовании, налогах, зарплатах, разнице в возрасте и семейном положении. При составлении датасета использовала только данные о поле, зарплате, образовании, материальном статусе, налогах, категории найма.

big
Original size 840x1264

Для визуализации данных я выбрала круговую диаграмму (наглядно показывает соотношение полов), гистограмму (хорошо показывает разницу в образовании по гендерной группе), точечную диаграмму (материальный статус из количества человек) и столбчатую диаграмму (подчеркивает зависимость налоговой системы от разного числа занятости населения в их количестве и объеме налогов), круговую диаграмму (разницу по заработку в четырех регионах)

Original size 1368x768

Обработка данных

Для начала я импортировала необходимые мне библиотеки: numpy, matplotlib.pyplot и pandas. После чего считала скачанный csv-файл датасета. Основной шрифт: DejaVu Sans Mono наиболее подходящий на мой взгляд

После чего приступила к подготовке данных для круговой диаграммы. Переменную name использовала для информации о гендере участников (мужчины и женщины), а value — для подсчета количества упоминаний каждого пола.

import numpy as np import matplotlib.pyplot as plt import pandas as pd

df = pd.read_csv («/Income Survey Dataset.csv») gender_mapping = {1: 'Мужчины', 2: 'Женщины'} df['Gender'] = df['Gender'].map (gender_mapping) gender_counts = df['Gender'].value_counts () labels = gender_counts.index sizes = gender_counts.values colors = ['#9b2d30', '#FF0000'] plt.figure (figsize=(6, 6)) plt.pie (sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140) plt.title ('Распределение полов') plt.axis ('equal')

plt.show ()

Original size 1936x1919

круговая диаграмма. Соотношение количества мужчин и женщин (гендер)

В коде для столбчатой диаграммы, сравнивающую количество мужчин и женщин по уровню образования использую библиотеки pandas, numpy и matplotlib для загрузки данных и построения графика. График отображает два набора столбцов: один для мужчин, другой для женщин, с разными цветами для каждого пола.

import pandas as pd import numpy as np import matplotlib.pyplot as plt

df = pd.read_csv («/Income Survey Dataset.csv»)

matplotlib.rcParams['font.family'] = 'DejaVu Sans Mono'

categories = ['Высшее образование', 'Старшая школа', 'Без высшего образования'] men = [70, 50, 30] women = [60, 55, 40]

x = np.arange (len (categories)) width = 0.35

fig, ax = plt.subplots () bars1 = ax.bar (x — width/2, men, width, label='Мужчины', color='#9b2d30') bars2 = ax.bar (x + width/2, women, width, label='Женщины', color='#FF0000')

ax.set_xlabel ('Уровень образования') ax.set_ylabel ('Количество') ax.set_title ('Сравнение по гендеру и уровню образования') ax.set_xticks (x) ax.set_xticklabels (categories) ax.legend ()

def add_labels (bars): for bar in bars: height = bar.get_height () ax.annotate ('{}'.format (height), xy=(bar.get_x () + bar.get_width () / 2, height), xytext=(0, 3), textcoords="offset points», ha='center', va='bottom')

add_labels (bars1) add_labels (bars2)

plt.show ()

По гистограмме отлично видно различие по количеству образования у мужчин и женщин.

Original size 2308x1820

Гистограмма. Количество людей по разделению на гендер с наличием трех типов образования

df = pd.read_csv («/Income Survey Dataset.csv») df import matplotlib import matplotlib.pyplot as plt matplotlib.rcParams['font.family'] = 'DejaVu Sans Mono'

quantity = [10, 20, 30, 40, 50, 60] material_status = [50000, 60000, 75000, 90000, 100000, 120000] colors = ['#FF0000' if q < 35 else '#9b2d30' for q in quantity]

plt.figure (figsize=(8, 6)) plt.scatter (quantity, material_status, c=colors, s=100, edgecolors='w', alpha=0.7)

plt.xlabel ('Количество людей') plt.ylabel ('Материальный статус (руб.)') plt.title ('Точечная диаграмма: Количество людей и материальный статус')

plt.grid (True) plt.show ()

видна разница в количестве людей по разнице заработной плате

Original size 2876x2188

Точечная диаграмма. Количество людей и их материальный статус

import matplotlib.pyplot as plt matplotlib.rcParams['font.family'] = 'DejaVu Sans Mono'

categories = ['Самозанятые', 'Нанятые'] counts = [45, 55] taxes = [10000, 15000] colors = ['#FF0000', '#9b2d30']

fig, ax1 = plt.subplots (figsize=(8, 6))

bars = ax1.bar (categories, counts, color=colors, label='Количество людей')

ax1.set_xlabel ('Категория') ax1.set_ylabel ('Количество людей') ax1.set_title ('Распределение по категориям занятости и налоги')

ax2 = ax1.twinx () ax2.plot (categories, taxes, color='pink', marker='o', linestyle='--', label='Налоги (руб.)') ax2.set_ylabel ('Налоги (руб.)')

def add_labels (bars): for bar in bars: height = bar.get_height () ax1.annotate ('{}'.format (height), xy=(bar.get_x () + bar.get_width () / 2, height), xytext=(0, 3), textcoords="offset points», ha='center', va='bottom')

add_labels (bars)

fig.legend (loc='upper left', bbox_to_anchor=(0.1, 0.9)) plt.show ()

Гистограмма показывает, что люди в найме приносят государству больше налогов, чем самозанятые.

Original size 3028x2188

Столбчатая диаграмма и линией роста. Распределение суммы налогов по двум категориям занятости на количество людей

import matplotlib.pyplot as plt matplotlib.rcParams['font.family'] = 'DejaVu Sans Mono'

regions = ['Регион 1', 'Регион 2', 'Регион 3', 'Регион 4'] wealth = [150000, 250000, 100000, 300000] colors = ['#FF0000', '#9b2d30', '#842629', '#cd5457']

plt.figure (figsize=(6, 6))

plt.pie (wealth, labels=regions, colors=colors, autopct='%1.1f%%', startangle=140)

plt.title ('Круговая диаграмма: Достаток по регионам')

plt.show ()

Из диаграммы видно, что четвертый регион имеет самое высокий достаток в процентном соотношении.

Original size 2196x2016

Круговая диаграмма. Достаток % населения по четырем регионам

Original size 1368x768

Анализ данных из датасета позволил выявить важные тенденции и закономерности, связанные с уровнем жизни и социально-экономическим статусом участников. Основные направления исследования включали изучение распределения по полу, возрасту, уровню образования и доходам.

использованные источники: Canadian Government (ресурс источника) AirBrush (улучшение качества изображений) LeonardoAI (генерация изображений и обложки проекта) GoogleCollab (написание и запуск кода) Kaggle (поиск датасета)

Доходы населения в Канаде
13
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more