AIM-PIbd-32-Katysheva-N-E/lab_1/lab1.ipynb
2024-09-14 11:05:45 +03:00

58 KiB
Raw Blame History

Начало лабораборной

Выгрузка данных из csv файла в датафрейм

In [2]:
import pandas as pd
import numpy as np

df = pd.read_csv("..//..//static//csv//StudentsPerformance.csv")
print (df.columns)
Index(['gender', 'race/ethnicity', 'parental level of education', 'lunch',
       'test preparation course', 'math score', 'reading score',
       'writing score'],
      dtype='object')

Данная гистограмма в диапазоне с 10 по 51 строки отображает: На оси X значения оценок по математике, разбитые на 100 интервалов. На оси Y будет указано количество записей (частота) в каждом из этих интервалов. Анализируя гистограмму "math score", можно сделать выводы о том, как распределяются оценки. Например, оценку 70 имеет 4 человека, а оценку 18 всего 1 человек из этого диапазона.

In [10]:
df.iloc[10:51].plot.hist(column=["math score"], bins=100)
Out[10]:
<Axes: ylabel='Frequency'>
No description has been provided for this image

Данная гистограмма отображает прцоентное соотношение мужчин и женщин. Что позволяет сделать вывод о том, что женщин среди студентов больше, чем мужчин.

In [5]:
import matplotlib.pyplot as plt  

labels = 'Женщины', 'Мужчины'
sizes = [len(df[df['gender']== 'female']),
         len(df[df['gender']== 'male'])]

plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.show()
No description has been provided for this image

Данная диаграмма отображает соотношение студентов, которые прошли курс подготовки к тестированию по группам. Что позволяет сделать вывод о том, что, например, больше всего неподготовленных студентов в группе С.

In [9]:
plot = df.groupby(["race/ethnicity", "test preparation course"]).size().unstack().plot.bar(color=["pink", "green"])
plot.legend(["Прошёл", "Не прошёл"])
Out[9]:
<matplotlib.legend.Legend at 0x2d8c973ba70>
No description has been provided for this image