第一题:
import numpy as np
a=np.array([[3,1,5],
[6,7,9],
[8,2,4]])
print(a)
adiag=np.diag(a) # 正对角线
asum=sum(adiag)
print('主对角线之和',asum)
c=np.fliplr(a) # 左右翻转
cdiag=np.diag(c)
csum=sum(cdiag)
print('反对角线之和',csum)
b=a.T
print('转置\n',a)
第二题:
import numpy as np
name=['zhang','wang','li','zhao','zhou']
suject=['Math','C','Fo']
a=np.array([[80,61,59,85,76],[75,65,63,87,77],[92,71,70,90,85]])
b=np.mean(a,axis=0)# 每个人得平均成绩==》列求平均
for i in range(5):
print("%-10s" % name[i],'的平均成绩为:','%.2f' % b[i] ) # 左对齐
c=np.mean(a,axis=1)# 每科的平均成绩
for j in range(3):
print("%-10s" %suject[j],'的平均成绩位:','%.2f' %c[j])
d=np.sum(a,axis=0)# 求每个人的总成绩
f=np.sort(d) # 总成绩排序
e=np.argsort(d) # 排序后的索引
for i in range(5):
print("%-10s" % name[e[i]],'的总成绩为:',d[e[i]])
import numpy as np
a=np.array([[3,1,5],
[6,7,9],
[8,2,4]])
print(a)
a=a.T
print(a)
转置就是元素交换的意思,用一个int temp作为中间量交换两个数组元素就可以