import numpy as np with open('成绩单数字.csv', 'r', encoding='utf-8') as file: s = file.read().replace('\n', ',').split(',') scoreAll = np.array(list(s)).reshape(6, 8) # 字符串s转成列表,转为6行8列的数组 #print(scoreAll) # 输出数组scoreAll scoreNum = scoreAll[1:, 2:].astype(int) #数组scoreAll中非数值型字符串去掉,转为整型,生成数组 #print(scoreNum) # 输出数组scoreNum name = input() course = input() indexName = np.argwhere(scoreAll==name ) print(indexName) print('{}同学的平均成绩为{:.2f}'.format(scoreAll[indexName[0,0],0],np.average(scoreNum[indexName[0,0]-1, 0:]))) indexCourse = np.argwhere(scoreAll==course ) print(indexCourse) print('{}课程平均成绩为{:.2f}'.format(scoreAll[0,indexCourse[0,1]],np.average(scoreNum[0:,indexCourse[0,1]-2]))) print('该课程中位数为{:.2f}'.format(np.median(scoreNum[0:,indexCourse[0,1]-2]))) print('该课程标准差为{:.2f}'.format(np.std(scoreNum[0:,indexCourse[0,1]-2])))
时间: 2024-03-04 11:52:46 浏览: 70
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
这段代码是一个Python程序,读取了一个成绩单的CSV文件,将读取的数据转为NumPy数组,并进行了一些数据处理和统计分析。其中,输入了两个变量name和course,分别代表学生姓名和课程名称。代码使用np.argwhere()函数查找数组中对应元素的索引,然后使用np.average()函数计算平均值,np.median()函数计算中位数,np.std()函数计算标准差,最终输出了对应的结果。
阅读全文