numpy.unravel_index 与 numpy.ravel_multi_index的理解

遇到numpy.ravel_multi_index 与numpy.unravel_index 这两个函数,查了网上的很多资料 都没讲的很清楚,记录一下。
这两个函数是相对应的:
numpy.unravel_index(indices, shape, order='C')

其中indices是表示一个一维数组的index,将这个一维数组转换成大小为shape([col, row])shape矩阵决定了转变后得到的数组的行和列的大小,进而得到index在新的二维矩阵 中的行index 和列index 其中order决定先是行index,还是先是列index
'C'先是列index 再是行index ‘F’先是行index 再是列index

 np.unravel_index([22, 41, 37], (7,6))
(array([3, 6, 6]), array([4, 5, 1]))

numpy.ravel_multi_index是numpy.unravel_index反过来的过程,

numpy.ravel_multi_index(multi_index, dims, mode='raise', order='C')

根据multi_index中不同数组代表的具体的索引,以及该数组的dims的大小 ,得到将该数组flat成一维数组 数据在一位数组中的位置

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