对矩阵的操作2

对矩阵的索引排序:
data = https://www.it610.com/article/numpy.sin(numpy.arange(20)).reshape(5,4)
print (data)
ind = data.argmax(axis=0)#在每一列中找到值最大的角标
print (ind)
#data.shape[1]表示(5,4)中的4,range(4)值是0 1 2 3
data_max = data[ind,range(data.shape[1])]
#data[ind,range(5)] 中前后参数都是列,即第一个参数中第一个元素对应第一列最大值的角标,第二个参数对应第0列,以此类推。
#再展开则是data[[2 0 3 1],[0 1 2 3]],即第2行第0列,第0行第1列等等对应着data里的最大值。
print (data_max)
对矩阵的操作2
文章图片
结果 【对矩阵的操作2】对矩阵进行扩展:tile()函数
matrix = numpy.arange(0,40,10)
print (matrix)
print (numpy.tile(matrix,(2,2)))#将matrix扩展成2行2列的矩阵
对矩阵的操作2
文章图片
结果 矩阵排序:
matrix = numpy.array([[3,2,5],[7,1,3]])
print (matrix)
print (numpy.sort(matrix,axis=1))#按照行来从小到大排序
a = numpy.array([2,5,1,4])
ind = numpy.argsort(a)#返回由小到大的值得角标
print (ind)
print (a[ind])#输出各角标的值
对矩阵的操作2
文章图片
结果

    推荐阅读