对矩阵的操作2

对矩阵的索引排序:

data = 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)

结果

对矩阵进行扩展:tile()函数

matrix = numpy.arange(0,40,10)

print (matrix)

print (numpy.tile(matrix,(2,2)))   #将matrix扩展成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])   #输出各角标的值

结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基础篇NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(...
    oyan99阅读 5,181评论 0 18
  • 先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutoria...
    舒map阅读 2,618评论 1 13
  • NumPy是Python中关于科学计算的一个类库,在这里简单介绍一下。 来源:https://docs.scipy...
    灰太狼_black阅读 1,256评论 0 5
  • numpy.random.randint Return random integers fromlow(inclu...
    onepedalo阅读 1,213评论 0 1
  • 自己有的时候对生活真的是感觉力不从心吧,为什么呢,因为总是发现困难比办法多,他无时无刻不在告诉我生活与人间就是炼狱...
    换氧阅读 287评论 0 0