ndarry数组实例操作,在线解答!

利用合适的数据结构存储学生姓名,利用ndarry数组随机生成班上每个同学的三门成绩,比如Python、math、English。成绩范围为40~ 100,使用统计函数计算每门]课程的成绩的最高分、最低分、平均分、标准差;打印班级三门课程总成绩的最高分、最低分的学生名字。

写成数据框形式,便于用相关统计函数进行统计。参考代码:

import numpy as np
import pandas as pd
names=['tom','jerry','bob','john']
subs = ['Python','math','English']
arr=[[np.random.randint(40,100) for _ in range(3)] for _ in range(len(names))]
df=pd.DataFrame(data=arr,columns=subs,index=names)
print(df)
print(df.max())
print(df.min())
print(df.mean())
print(df.std())
df['total']=df.sum(axis=1)
print(df.index[np.argmax(df['total'])])
print(df.index[np.argmin(df['total'])])

如对你有帮助,请点击采纳按钮。

>>> import numpy as np
>>> roster = ['张三','李四','王五','赵六','刘七'] # 花名册
>>> grade = np.random.randint(40, 101, (len(roster),3)) # 随机生成的成绩表
>>> grade[:,0].max(), grade[:,0].min(), grade[:,0].mean(),grade[:,0].std() # Pyhon最高分、最低分、平均分、标准差
(90, 67, 83.6, 8.685620300243386)
>>> grade[:,1].max(), grade[:,1].min(), grade[:,1].mean(),grade[:,1].std() # Math最高分、最低分、平均分、标准差
(99, 64, 79.8, 11.923086848631105)
>>> grade[:,2].max(), grade[:,2].min(), grade[:,2].mean(),grade[:,2].std() # English最高分、最低分、平均分、标准差
(69, 46, 54.8, 8.304215796810679)
>>> total = np.sum(grade, axis=1) # 总分
>>> roster[np.argmax(total)], total.max() # 总分最高者
('张三', 234)
>>> roster[np.argmin(total)], total.min() # 总分最低者
('刘七', 204)