numpy访问矩阵最大值、最小值的位置

  • Post author:
  • Post category:其他


#导入需要的库
import numpy as np
import math
a=np.matlib.rand(4,5)   #随机生成一个4行5列的矩阵
b=a.max()
b1=a.min()
print('矩阵的最大值与最小值:',b,b1)
print(np.argmax(a)+1)  #获取矩阵最大值的位置
print(np.argmin(a)+1)   #获取矩阵最小值的位置
#运行结果:
#矩阵的最大值与最小值: 0.9199080553291294 0.008548761927909099 16 15
#将位置转化为元组坐标有序数对
#最大:
if (np.argmax(a)+1)%5==0:
    index_max1=int((np.argmax(a)+1)/5)
else:
    index_max1=int(math.ceil((np.argmax(a)+1)/5))   #调用ceil函数向上取整
if (np.argmax(a)+1)%5==0:
    columns_max1=5
else:
    columns_max1=int(math.ceil(((np.argmax(a)+1)%5)))
#最小:
if (np.argmin(a)+1)%5==0:
    index_min1=int((np.argmin(a)+1)/5)
else:
    index_min1=int(math.ceil((np.argmin(a)+1)/5))   #调用ceil函数向上取整
if (np.argmin(a)+1)%5==0:
    columns_min1=5
else:
    columns_min1=int(math.ceil(((np.argmin(a)+1)%5)))
print((index_max1,columns_max1))
print((index_min1,columns_min1))
#运行结果:(4, 1)  (3, 5)



版权声明:本文为m0_64111502原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。