
Концепция
Цель исследования — изучить, как академическое давление связано со стрессом и сном студентов, и какие факторы чаще всего вызывают перегрузку.
Для проекта была выбрана палитра синих оттенков, чтобы отразить такие эмоции, как депрессия, стресс и грусть, которые испытывают студенты. Шрифт — 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 — генерация палитры
Ссылки