创建工程data_analysis将数据文件放入工程路径为scorecsv表头为编号 姓名 性别 班级 分数。②创建python文件导入csv及matplotlibpyplot模块。③定义文件流读取数据文件定义列表将文件数据加进列表打印列表数据。④定义列表用作表头大数据32101大数据32102大数据32103。⑤定义6个变量用于存储每个班的总分与人数。⑥通过列表数据计算每个班的平均分。⑦绘制柱形
首先,创建一个名为data_analysis的工程,并将数据文件score.csv放入该工程的根目录下。
接下来,创建一个python文件,并导入csv和matplotlib.pyplot模块。
import csv
import matplotlib.pyplot as plt
然后,定义文件流,读取数据文件,并将文件数据加入一个列表中,并打印列表数据。
data = []
with open('./score.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
data.append(row)
print(data)
接着,定义一个列表作为表头,内容为["编号", "姓名", "性别", "班级", "分数"]。
header = ["编号", "姓名", "性别", "班级", "分数"]
然后,定义6个变量用于存储每个班的总分与人数。
total_score_32101 = 0
total_score_32102 = 0
total_score_32103 = 0
num_students_32101 = 0
num_students_32102 = 0
num_students_32103 = 0
接下来,通过列表数据计算每个班的平均分,并将计算结果存储到对应的变量中。
for row in data[1:]:
if row[3] == "大数据32101":
total_score_32101 += int(row[4])
num_students_32101 += 1
elif row[3] == "大数据32102":
total_score_32102 += int(row[4])
num_students_32102 += 1
elif row[3] == "大数据32103":
total_score_32103 += int(row[4])
num_students_32103 += 1
average_score_32101 = total_score_32101 / num_students_32101
average_score_32102 = total_score_32102 / num_students_32102
average_score_32103 = total_score_32103 / num_students_32103
然后,绘制柱形图,横坐标为班级,纵坐标为平均成绩。
classes = ["大数据32101", "大数据32102", "大数据32103"]
average_scores = [average_score_32101, average_score_32102, average_score_32103]
plt.bar(classes, average_scores)
plt.xlabel("班级")
plt.ylabel("平均成绩")
plt.title("各班级平均成绩")
plt.show()
最后,将数据插入柱形图并显示。
请确保已安装所需的模块,并且在运行程序之前,将score.csv文件放入data_analysis工程的根目录下
原文地址: https://www.cveoy.top/t/topic/hKvp 著作权归作者所有。请勿转载和采集!