Имеется файл с оценками студентов по предмету «ПР13_оценки.csv». Разработайте приложение, которое строит numpy столбиковую диаграмму по предмету «Программирование и основы алгоритмизации» с выводом количества оценок разного вида.
python
import numpy as np
data = np.genfromtxt('ПР13_оценки.csv', delimiter=',', skip_header=1)
Следующим шагом является отбор данных по предмету "Программирование и основы алгоритмизации".
python
prog_data = data[data[:, 0] == 'Программирование и основы алгоритмизации']
Здесь используется массивный оператор [], который позволяет получить только те строки, где первый столбец равен "Программирование и основы алгоритмизации".
Теперь необходимо посчитать количество оценок каждого вида. Для этого можно воспользоваться функцией numpy.unique, которая возвращает уникальные значения и их количество в массиве.
python
grades, counts = np.unique(prog_data[:, 1], return_counts=True)
Здесь функция unique используется для второго столбца (оценок) и возвращает два массива: уникальные оценки (grades) и количество каждой оценки (counts).
Осталось только построить столбиковую диаграмму. Для этого можно использовать функцию matplotlib.pyplot.bar.
python
import matplotlib.pyplot as plt
plt.bar(grades, counts)
plt.xlabel('Оценка')
plt.ylabel('Количество')
plt.title('Распределение оценок по предмету "Программирование и основы алгоритмизации"')
plt.show()
Здесь функция bar используется для построения диаграммы с осями X и Y (grades и counts соответственно), а функции xlabel, ylabel и title – для наименования осей и заголовка диаграммы соответственно.
Полученный код будет выглядеть следующим образом:
python
import numpy as np
import matplotlib.pyplot as plt
data = np.genfromtxt('ПР13_оценки.csv', delimiter=',', skip_header=1)
prog_data = data[data[:, 0] == 'Программирование и основы алгоритмизации']
grades, counts = np.unique(prog_data[:, 1], return_counts=True)
plt.bar(grades, counts)
plt.xlabel('Оценка')
plt.ylabel('Количество')
plt.title('Распределение оценок по предмету "Программирование и основы алгоритмизации"')
plt.show()
Таким образом, было разработано приложение для построения numpy столбиковой диаграммы по предмету "Программирование и основы алгоритмизации", которое выводит количество оценок разного вида.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет