Концепция
Цель исследования — изучить, как академическое давление связано со стрессом и сном студентов, и какие факторы чаще всего вызывают перегрузку.
Для проекта была выбрана палитра синих оттенков, чтобы отразить такие эмоции, как депрессия, стресс и грусть, которые испытывают студенты. Шрифт — Montserrat
colors
Типы диаграмм: Столбчатая — средний уровень давления по возрастным группам Гистограмма — распределение уровня давления Круговая — структура причин стресса Пузырьковая — связь давления и сна Облако слов — текстовые причины стресса
Визуализация данных
Средний уровень давления по возрастным группам
def plot_bar_pressure_by_age(df): pressure_by_age = ( df.groupby("AgeGroup")["PressureLevel"] .mean() .sort_values() )
plt.figure(figsize=FIGSIZE)
ax = sns.barplot(
x=pressure_by_age.index,
y=pressure_by_age.values,
palette=[accent1, accent2, accent3, accent1]
)
ax.set_title("Средний академический прессинг по возрастным группам")
ax.set_xlabel("Возрастная группа")
ax.set_ylabel("Уровень давления (1–5)")
for i, v in enumerate(pressure_by_age.values):
ax.text(i, v + 0.05, f"{v:.1f}",
ha="center", va="bottom", color=base_fg, fontsize=9)
plt.tight_layout()
plt.show()
Вывод: Критический возраст по академическому стрессу — от старшей школы до раннего университета. Именно этим группам особенно нужна поддержка (менторство, психопросвещение, гибкие форматы оценивания).
Распределение уровня академического давления
def plot_hist_pressure(df): plt.figure(figsize=FIGSIZE) sns.histplot( data=df, x="PressureLevel", bins=[1, 2, 3, 4, 5, 6], color=accent2, edgecolor=base_bg ) plt.title("Распределение уровней академического давления") plt.xlabel("Уровень давления (1–5)") plt.ylabel("Количество студентов") plt.tight_layout() plt.show()
Вывод: Повышенное академическое напряжение — не исключение, а норма для большинства участников опроса. Это говорит о том, что работа со стрессом должна быть системной, а не выборочной.
Структура причин стресса
def plot_pie_stress_causes(df): counts = df["MainStressCause"].value_counts()
plt.figure(figsize=FIGSIZE)
ax = plt.gca()
ax.set_facecolor(base_bg)
wedges, texts, autotexts = ax.pie(
counts.values,
labels=counts.index,
autopct="%1.1f%%",
startangle=90,
colors=[accent1, accent2, accent3],
textprops={"color": base_fg, "fontsize": 9}
)
for w in wedges:
w.set_edgecolor(base_bg)
ax.set_title("Распределение причин академического стресса")
plt.tight_layout()
plt.show()
Вывод Основные драйверы стресса — экзамены/оценки и финансовые вопросы, на втором плане — сложность материала и ожидания окружающих. Это подсказывает направления интервенций: переработка системы оценивания, поддержка в финансовых вопросах, тьюторство по сложным предметам.
Связь академического давления и сна
def plot_bubble_pressure_sleep(df): sleep_map = { "5–6": 5.5, "7–8": 7.5, "More than 8": 9.0 } df_local = df.copy() df_local["SleepNum"] = df_local["SleepHours"].map(sleep_map)
grp = (
df_local.groupby("PressureLevel")
.agg(
mean_sleep=("SleepNum", "mean"),
count=("SleepNum", "size")
)
.dropna()
)
plt.figure(figsize=FIGSIZE)
sizes = grp["count"] * 200
plt.scatter(
grp.index,
grp["mean_sleep"],
s=sizes,
c=accent2,
alpha=0.7,
edgecolors=base_fg,
linewidths=1.5
)
for x, y, n in zip(grp.index, grp["mean_sleep"], grp["count"]):
plt.text(x, y, str(n), ha="center", va="center",
color=base_bg, fontsize=8)
plt.title("Пузырьковая диаграмма: давление и сон")
plt.xlabel("Уровень академического давления (1–5)")
plt.ylabel("Среднее количество часов сна")
plt.grid(True, alpha=0.3, color=accent3)
plt.tight_layout()
plt.show()
Вывод Рост академического давления сопровождается ухудшением режима сна. Это усиливает негативное влияние на психическое здоровье и успеваемость, поэтому программы по снижению стресса должны включать блоки по гигиене сна и планированию нагрузки.
Облако слов: причины стресса
def plot_wordcloud_stress(df): text = " ".join(str(x) for x in df["MainStressCause"].dropna())
wc = WordCloud(
width=1100,
height=1600,
background_color=base_bg,
prefer_horizontal=0.9,
)
def color_func(*args, **kwargs):
import random
return random.choice([accent1, accent2, accent3])
wc.generate(text)
wc.recolor(color_func=color_func)
plt.figure(figsize=(10, 6))
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.title("Облако слов: причины академического стресса")
plt.tight_layout()
plt.show()
Вывод: Качественные ответы студентов подтверждают количественный анализ: главные темы стресса — экзамены, оценки, деньги и сложность учебы.
Выводы
- Стресс и высокий уровень академического давления распространены среди большинства студентов, особенно 15–22 лет. - Основные источники стресса — экзамены/оценки и финансовые факторы, подкреплённые сложностью предметов и нехваткой времени. - Высокое давление связано с нарушениями сна, что усугубляет риск выгорания и проблем с психикой.
Описание применения генеративной модели
Coolors — генерация палитры




