Имеется файл с оценками студентов по предмету «оценки.csv». Разработайте приложение с помощью библиотеки pandas, которое строит круговую диаграмму по студенту «Ватохин Даниил Сергеевич» с выводом в процентом отношении количества оценок разного вида.
python
import pandas as pd
Затем мы можем загрузить наш файл «оценки.csv». Для этого создадим переменную `df`, которая будет содержать данные из файла:
python
df = pd.read_csv('оценки.csv', delimiter=';')
Мы использовали параметр `delimiter=';'`, так как в нашем файле разделителем является точка с запятой.
Далее нам нужно выбрать только те строки, которые соответствуют студенту «Ватохин Даниил Сергеевич». Для этого можем использовать следующую команду:
python
daniil = df.loc[df['Студент'] == 'Ватохин Даниил Сергеевич']
Здесь мы выбрали только те строки, в которых в столбце "Студент" указано имя "Ватохин Даниил Сергеевич".
Для того, чтобы построить круговую диаграмму с оценками Ватохина, нам нужно посчитать количество каждой оценки и выразить его в процентах.
Мы можем использовать функцию `value_counts()`, чтобы посчитать количество каждой оценки:
python
counts = daniil['Оценка'].value_counts()
Здесь мы выбрали только столбец "Оценка" и посчитали количество каждого типа оценки.
Для того, чтобы выразить количество оценок в процентах, мы можем использовать функцию `apply()`, которая позволяет применить функцию к каждому элементу в Series. Для вычисления процента от общего числа оценок мы можем использовать следующую функцию:
python
def to_percent(count):
total_count = counts.sum()
return (count / total_count) * 100
Здесь мы вычисляем общее количество оценок с помощью метода `sum()`, а затем вычисляем процент для каждой оценки.
Затем мы можем применить эту функцию к нашему объекту `counts`:
python
percentages = counts.apply(to_percent)
Теперь у нас есть процентное соотношение оценок. Мы можем построить круговую диаграмму, используя функцию `plot.pie()`:
python
percentages.plot.pie(autopct='%.2f%%')
Здесь мы использовали параметр `autopct='%.2f%%'`, чтобы выводить проценты с двумя знаками после запятой.
Итак, весь наш код для построения круговой диаграммы выглядит следующим образом:
python
import pandas as pd
df = pd.read_csv('оценки.csv', delimiter=';')
daniil = df.loc[df['Студент'] == 'Ватохин Даниил Сергеевич']
counts = daniil['Оценка'].value_counts()
def to_percent(count):
total_count = counts.sum()
return (count / total_count) * 100
percentages = counts.apply(to_percent)
percentages.plot.pie(autopct='%.2f%%')
Запустив этот код, мы получим круговую диаграмму с процентным соотношением оценок для студента «Ватохин Даниил Сергеевич».Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет