学习目标:
熟练掌握numpy库函数的使用。
编写程序,更进一步提高数据统计分析的能力。
学习内容:
xlsx文件转为csv文件
对数据的操作
切片的使用
求表的数组数据的最大最小,平均值,数组元素下标
数据如下
学习时间:
- 2022年2月26 周六 🌤转阴
学习产出:
import numpy as np
data = pd.read_excel(r'班级成绩.xlsx','Sheet1',index_col=0)
data.to_csv('D3_2——班级成绩.csv',encoding='utf-8')
data = pd.read_csv('D3_2——班级成绩.csv')
data = data.values
name = data[:,1]
data1 = data[:,2:]
print("各科平均分成绩如下==========================================")
print("语文平均分为——%s"%"%.2f"%(sum(data[:,2])/len(data[:,2])))
print("数学平均分为——%s"%"%.2f"%(sum(data[:,3])/len(data[:,3])))
print("英语平均分为——%s"%"%.2f"%(sum(data[:,4])/len(data[:,4])))
print("计算机平均分为——%s"%"%.2f"%(sum(data[:,5])/len(data[:,5])))
print("各同学加权平均分如下==========================================")
Weight = [0.35,0.35,0.2,0.1]
WR = data1*Weight
for i in range(len(name)-1):
print(name[i],"同学的加权平均分为","%.2f"%sum(WR[i]))
print("各科最高分与最低分差如下==========================================")
print("语文最高分和最低分的差为——%s"%(max(data[:,2])-min(data[:,2])))
print("数学最高分和最低分的差为——%s"%(max(data[:,3])-min(data[:,3])))
print("英语最高分和最低分的差为——%s"%(max(data[:,4])-min(data[:,4])))
print("计算机最高分和最低分的差为——%s"%(max(data[:,5])-min(data[:,5])))
print("各科最高分名单如下==========================================")
print("语文成绩最高——%s 同学"%data[np.argmax(data[:,2])+1][1],
max(data[:,2]),
"分!","这个分数在成绩单的第",np.argmax(data[:,2])+2,"行3列,坐标(",
np.argmax(data[:, 2]) + 2,",",3,")" )
print("数学成绩最高——%s 同学"%data[np.argmax(data[:,3])+1][1],
max(data[:,3]),
"分!","这个分数在成绩单的第",np.argmax(data[:,3])+2,"行4列,坐标(",
np.argmax(data[:, 3]) + 2,",",4,")" )
print("英语成绩最高——%s 同学"%data[np.argmax(data[:,4])+1][1],
max(data[:,4]),
"分!","这个分数在成绩单的第",np.argmax(data[:,4])+2,"行5列,坐标(",
np.argmax(data[:, 4]) + 2,",",5,")" )
print("计算机成绩最高——%s 同学"%data[np.argmax(data[:,5])][1],
max(data[:,5]),
"分!","这个分数在成绩单的第",np.argmax(data[:,5])+2,"行6列,坐标(",
np.argmax(data[:, 5]) + 2,",",6,")" )```