import pandas as pd
import matplotlib.pyplot as plt
# 1. ВСТАВЬ СВОИ РЕАЛЬНЫЕ ДАННЫЕ
# минимум 5 предметов!
my_data = {
'subject': [
'Математика',
'Информатика',
'Английский',
'История',
'Физика',
# добавь свои предметы
],
'grade': [
5,
4,
5,
3,
4,
# вставь свои оценки
],
'missed_classes': [
2,
0,
1,
3,
2,
# пропущенные занятия
],
'control_type': [
'экзамен',
'зачет',
'экзамен',
'зачет',
'экзамен',
# тип контроля
]
}
# 2. СОЗДАНИЕ DataFrame
df = pd.DataFrame(my_data)
# 3. УСТАНОВКА ИНДЕКСА
df.set_index('subject', inplace=True)
# 4. ДОБАВЛЕНИЕ НОВОГО СТОЛБЦА
# пример: "риск" (чем ниже оценка и больше пропусков — тем выше риск)
df['risk_score'] = (6 - df['grade']) + df['missed_classes']
# 5. ГРУППИРОВКА И АГРЕГАЦИЯ
grouped = df.groupby('control_type').agg({
'grade': ['mean', 'min', 'max'],
'missed_classes': ['sum', 'mean']
})
print("Группировка:")
print(grouped)
# 6. КОРРЕЛЯЦИЯ
correlation = df['grade'].corr(df['missed_classes'])
print("\nКорреляция между оценками и пропусками:", correlation)
# 7. ГРАФИК
df['grade'].plot(kind='bar')
plt.title('Оценки по предметам')
plt.xlabel('Предмет')
plt.ylabel('Оценка')
plt.xticks(rotation=45)
plt.show()
# 8. ТЕКСТОВЫЙ ВЫВОД (ОБЯЗАТЕЛЬНО НАПИШИ СВОЙ!)
print("\nВывод:")
print("ЗДЕСЬ НАПИШИ СВОЙ АНАЛИЗ (5–10 предложений)")