Original size 736x930

Анализ использования контрацепции

PROTECT STATUS: not protected

Вводная часть Для анализа использования презервативов я выбрал данные из отчета Всемирной организации здравоохранения (ВОЗ) и различных исследований, проведенных в области сексуального здоровья. Эти данные включают статистику по использованию презервативов в разных странах, возрастных группах и среди различных социальных слоев. Я также использовал данные из опросов, проведенных среди молодежи, чтобы понять, как меняется отношение к использованию презервативов в зависимости от уровня образования и доступа к информации о сексуальном здоровье. Мне было интересно проанализировать эти данные, так как использование презервативов является важным аспектом профилактики заболеваний, передающихся половым путем, и предотвращения нежелательной беременности.

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

Этапы работы Сбор данных: Я собрал данные из открытых источников, таких как ВОЗ, CDC и различные научные статьи. Данные были представлены в формате CSV и Excel. Обработка данных: Я использовал язык программирования Python и библиотеку Pandas для обработки данных. Вот пример кода, который я использовал для загрузки и предварительной обработки данных:

Визуализация данных: Для создания графиков я использовал библиотеку Matplotlib и Seaborn. Вот пример кода для создания гистограммы:

Стилизация графиков: Я вдохновлялся минималистичным дизайном и использовал цветовую палитру, основанную на нейтральных тонах с акцентами ярких цветов для выделения ключевых данных. Мои источники вдохновения включали графики из научных публикаций и визуализации на платформах, таких как Tableau и DataViz.

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

Original size 1800x900

Первый график показывает, как менялся средний процент онлайн-продаж презервативов по годам. Видна тенденция роста — что логично, учитывая глобальный тренд на онлайн-шопинг. Сейчас сделаю ещё 3–4 графика, чтобы получилась целостная инфографика. Код: import matplotlib.pyplot as plt import seaborn as sns

Настройка визуального стиля

sns.set (style="whitegrid», font_scale=1.1) plt.rcParams['figure.figsize'] = (12, 6)

Готовим данные

df_clean = df.copy () df_clean['Year'] = df_clean['Year'].astype (int) df_clean['Awareness Index (0-10)'] = pd.to_numeric (df_clean['Awareness Index (0-10)'], errors='coerce') df_clean['Teen Pregnancy Rate (per 1000 teens)'] = pd.to_numeric (df_clean['Teen Pregnancy Rate (per 1000 teens)'], errors='coerce') df_clean['Online Sales (%)'] = pd.to_numeric (df_clean['Online Sales (%)'], errors='coerce')

График 1: Общая динамика онлайн-продаж по годам

online_sales = df_clean.groupby («Year»)[«Online Sales (%)»].mean ().reset_index ()

plt.figure () sns.lineplot (data=online_sales, x="Year», y="Online Sales (%)», marker="o») plt.title («Средний процент онлайн-продаж презервативов по годам») plt.xlabel («Год») plt.ylabel («Онлайн-продажи (%)») plt.tight_layout ()

plt.show ()

Original size 1800x900

Второй график показывает, что страны с правительственными кампаниями имеют в среднем более высокий индекс осведомлённости. Это наглядное подтверждение эффективности таких инициатив. Двигаемся дальше! Сейчас покажу, как индекс осведомлённости связан с подростковой беременностью. Код:

График 2: Влияние правительственных кампаний на индекс осведомлённости

plt.figure () sns.boxplot (data=df_clean, x="Government Campaigns», y="Awareness Index (0-10)», palette="pastel») plt.title («Влияние правительственных кампаний на индекс осведомлённости») plt.xlabel («Правительственные кампании») plt.ylabel («Индекс осведомлённости (0-10)») plt.tight_layout () plt.show ()

Original size 1800x900

На третьем графике видна обратная зависимость: чем выше индекс осведомлённости, тем ниже уровень подростковой беременности. Особенно ярко это проявляется в странах с госпрограммами. Теперь сделаем визуализацию популярности типов презервативов. Код:

График 3: Связь между индексом осведомлённости и подростковой беременностью

plt.figure () sns.scatterplot (data=df_clean, x="Awareness Index (0-10)», y="Teen Pregnancy Rate (per 1000 teens)», hue="Government Campaigns», alpha=0.7, palette="Set2») sns.regplot (data=df_clean, x="Awareness Index (0-10)», y="Teen Pregnancy Rate (per 1000 teens)», scatter=False, color="gray», line_kws={"linewidth»: 2, «linestyle»:"--"}) plt.title («Связь между осведомлённостью и подростковой беременностью») plt.xlabel («Индекс осведомлённости (0-10)») plt.ylabel («Подростковая беременность (на 1000)») plt.legend (title="Гос. кампания») plt.tight_layout () plt.show ()

Код для google copilot: import pandas as pd import matplotlib.pyplot as plt import seaborn as sns

Загрузка данных

df = pd.read_csv («/mnt/data/Rich_Global_Condom_Usage_Dataset.csv»)

Предобработка

def extract_gender_pct (row, gender): parts = row.split (» — «) for part in parts: if gender in part: return int (part.strip ().replace (f"% {gender}», «»)) return None

df[«Male %»] = df[«Male vs Female Purchases (%)»].apply (lambda x: extract_gender_pct (x, «Male»)) df[«Female %»] = df[«Male vs Female Purchases (%)»].apply (lambda x: extract_gender_pct (x, «Female»))

Удаляем строки с некорректными значениями

df_gender = df.dropna (subset=[«Male %», «Female %»])

Настройки стиля

sns.set (style="whitegrid», font_scale=1.1)

График 1: Средние онлайн-продажи по годам

plt.figure (figsize=(10, 5)) online_sales = df.groupby («Year»)[«Online Sales (%)»].mean ().reset_index () sns.lineplot (data=online_sales, x="Year», y="Online Sales (%)», marker="o») plt.title («Средний процент онлайн-продаж презервативов по годам») plt.tight_layout () plt.show ()

График 2: Влияние гос. кампаний на осведомлённость

plt.figure (figsize=(8, 5)) sns.boxplot (data=df, x="Government Campaigns», y="Awareness Index (0-10)», palette="pastel») plt.title («Влияние гос. кампаний на индекс осведомлённости») plt.tight_layout () plt.show ()

График 3: Связь осведомлённости и подростковой беременности

plt.figure (figsize=(10, 6)) sns.scatterplot (data=df, x="Awareness Index (0-10)», y="Teen Pregnancy Rate (per 1000 teens)», hue="Government Campaigns», alpha=0.7) sns.regplot (data=df, x="Awareness Index (0-10)», y="Teen Pregnancy Rate (per 1000 teens)», scatter=False, color="gray», line_kws={"linestyle»: «--"})

Original size 1800x900

plt.title («Связь осведомлённости и подростковой беременности») plt.tight_layout () plt.show ()

График 4: Средний процент покупателей по полу

plt.figure (figsize=(8, 5)) avg_male = df_gender[«Male %»].mean () avg_female = df_gender[«Female %»].mean () sns.barplot (x=[«Мужчины», «Женщины»], y=[avg_male, avg_female], palette="coolwarm») plt.title («Средний процент покупателей презервативов по полу») plt.ylabel («Процент») plt.tight_layout () plt.show ()

Original size 1800x900
Анализ использования контрацепции
Project created at 23.03.2025
Confirm your ageProject contains information not suitable for individuals under the age of 18
I am already 18 years old
Cancel
Confirm