numpy索引练习,求指点

请大神给解释一下,这个a[i,j]的结果都是怎么从a里取出来的,我怎么没看懂[i,j]表示的意思

图片描述

阅读 2.6k
2 个回答

把它带进去就是

a[    [[0,1],[1,2]],
      [[2,1],[3,3]]    ]

进行上下对应取索引为[0,2],[1,1]这两个元素作为第一行;取索引为[1,3],[2,3]这两个元素作为第二行,得到输出结果

这种索引方法属于花式索引的一种,很迷,我都是规律理解出来的,不太清楚原理
这是我当时学numpy的自己的理解,你看一下明不明白,如果是三维的话就接收三个参数以此类推
图片描述

感谢β_3000的启发,原来好多东西在纸上画画就会清楚很多。

a = arange(12).reshape(3,4)
i = array( [ [0,1],    
             [1,2] ] )
j = array( [ [2,1], 
             [3,3] ] )
print(a[i])             
print(a[i,j])   

a是一个二维数组,用二维数组i索引后竟然变成一个三维数组,如图:
那么a[i,j]就是在a[i]上再按j索引一次?我不知道对不对,至少从结果上看是对了。
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题