
Описание
Я искала датасеты на сайте kaggle.com, но долго не могла найти тот, который бы мне подходил. В итоге, через некоторое время я наткнулась на статистику заболевания сердца, мне показалась эта тема интересной и удобной для анализа, поэтому я и взяла именно её.
Типы диаграмм:
Я выбрала диаграммы, которые наиболее наглядно и понятно могут показать разницу между данными.
Стилизация
Для создания цветовой палитры, я вдохновлялась своими ассоциация. Например, красные оттенки я взяла, потому что они мне напоминают сердце, светло — желтый я взяла, потому что он мне напоминает человека, а синие оттенки я взяла, потому что они олицетворяют для меня холод и болезнь.

В качестве шрифтового решения я выбрала Arial, потому что он один из самых удобных для чтения текста.

Таблица 1
Код:
import pandas as pd import matplotlib.pyplot as plt
name = df['sex (Мужской: 1; Женский: 0)'].value_counts ().index.tolist () value = df['sex (Мужской: 1; Женский: 0)'].value_counts ().tolist ()
fig, ax = plt.subplots () fig.set_size_inches (30, 15) colors = ['#C1121F', '#669BBC']
plt.pie (value, labels=None, labeldistance=0.45, colors=colors, startangle=45, wedgeprops={'linewidth': 3.0, 'edgecolor': '#EDEBDF'}, autopct='%.0f%%') for text in plt.gca ().texts: text.set_fontsize (16) plt.title ('Количество мужчин и женщин', fontsize = 30) fig.patch.set_facecolor ('#FDF0D5') ax.set_facecolor ('#FDF0D5') fig.savefig ('pie.jpg') plt.show ()
красные — мужчины, голубые -женщины
Таблица 1 показывает, что у женщин в 2 раза меньше встречается заболевание сердца.
Таблица 2
Код:
import pandas as pd import matplotlib.pyplot as plt
age_counts = df['age'].value_counts ().sort_index ()
name = age_counts.index.tolist () value = age_counts.tolist ()
fig, ax = plt.subplots () fig.set_size_inches (30, 15) colors = ['#C1121F', '#003049'] ax.bar (name, value, color=colors) ax.set_xticks (name) ax.set_xticklabels (name, fontsize=16, rotation=0) ax.tick_params (axis='y', labelsize=16) plt.title ('Возраст', fontsize=30) fig.patch.set_facecolor ('#FDF0D5') ax.set_facecolor ('#FDF0D5') fig.savefig ('bar_chart.jpg') plt.show ()
Больше всего в районе 50 — 60 лет
Таблица 3
Код:
import pandas as pd import matplotlib.pyplot as plt
name = df['cp (0 типичная стенокардия, 1 атипичная стенокардия, 2 неангинозная боль, 3 бессимптомная)'].value_counts ().index.tolist () value = df['cp (0 типичная стенокардия, 1 атипичная стенокардия, 2 неангинозная боль, 3 бессимптомная)'].value_counts ().tolist ()
fig, ax = plt.subplots () fig.set_size_inches (30, 15) colors = ['#C1121F', '#003049', '#780000', '#669BBC'] ax.plot (name, value, marker='o', color=colors[0], linewidth=2, markersize=10) ax.set_xticks (name) ax.set_xticklabels (name, fontsize=16, rotation=0) ax.tick_params (axis='y', labelsize=16) plt.title ('Тип болезни', fontsize=30) fig.patch.set_facecolor ('#FDF0D5') ax.set_facecolor ('#FDF0D5') fig.savefig ('line_chart.jpg') plt.show ()
0-типичная стенокардия, 1-атипичная стенокардия, 2-неангинозная боль, 3-бессимптомная,
Можно заметить, что у большинства боль в груди была бессимптомной.
Таблица 4
Код:
import pandas as pd import matplotlib.pyplot as plt
name = df['target (1 заюолевание сердца, 0 здоров)'].value_counts ().index.tolist () value = df['target (1 заюолевание сердца, 0 здоров)'].value_counts ().tolist ()
fig, ax = plt.subplots () fig.set_size_inches (30, 15) colors = ['#C1121F', '#003049'] ax.barh (name, value, color=colors) ax.set_yticks ([]) ax.tick_params (axis='y', labelsize=16) ax.tick_params (axis='x', labelsize=16) plt.title ('Тип болезни', fontsize=30) fig.patch.set_facecolor ('#FDF0D5') ax.set_facecolor ('#FDF0D5') fig.savefig ('horizontal_bar_chart.jpg') plt.show ()
Синий — болезнь сердца есть, красный — нет
Итог
Таким образом, опрос был между людьми с болью в груди, можно заметить, что у половины из них было заболевание сердца. Можно прийти к выводу, что боль в груди не всегда является болью в сердце, но всегда нужно учитывать риски.
Данные