创建工程data_analysis将数据文件放入工程路径为scorecsvcsv文件中表头为编号 姓名 性别 班级 分数。②创建python文件导入csv及matplotlibpyplot模块。③定义文件流读取数据文件定义列表将文件数据加进列表打印列表数据。④定义列表用作表头大数据32101大数据32102大数据32103。⑤定义6个变量用于存储每个班的总分与人数。⑥通过列表数据计算每个班的平均分
下面是实现上述要求的代码:
import csv
import matplotlib.pyplot as plt
# 读取数据文件
with open('./score.csv', 'r') as file:
reader = csv.reader(file)
data = list(reader)
# 打印列表数据
print(data)
# 定义表头
header = ["大数据32101", "大数据32102", "大数据32103"]
# 存储每个班的总分与人数
total_score_32101 = 0
total_score_32102 = 0
total_score_32103 = 0
count_32101 = 0
count_32102 = 0
count_32103 = 0
# 计算每个班的总分与人数
for row in data[1:]:
if row[3] == "大数据32101":
total_score_32101 += int(row[4])
count_32101 += 1
elif row[3] == "大数据32102":
total_score_32102 += int(row[4])
count_32102 += 1
elif row[3] == "大数据32103":
total_score_32103 += int(row[4])
count_32103 += 1
# 计算每个班的平均分
average_score_32101 = total_score_32101 / count_32101
average_score_32102 = total_score_32102 / count_32102
average_score_32103 = total_score_32103 / count_32103
# 绘制柱形图
plt.bar(header, [average_score_32101, average_score_32102, average_score_32103])
plt.xlabel("班级")
plt.ylabel("平均成绩")
plt.title("每个班级的平均成绩")
# 显示柱形图
plt.show()
在运行上述代码之前,请确保已经安装了matplotlib模块。可以使用以下命令来安装:
pip install matplotlib
运行代码后,会打印出数据列表,并显示一个柱形图,该图显示了每个班级的平均成绩
原文地址: https://www.cveoy.top/t/topic/hKvu 著作权归作者所有。请勿转载和采集!