python - 从 1D reshape 为 2D numpy 数组后如何返回元素的位置(索引)?

标签 python python-2.7 numpy

我有一个 1d numpy 数组,如 p=array([ 1,2,3,4,5,6,7,8,9,10,11,12])

在我的工作中,我需要将其更改为二维数组

p_reshape = array([[1,2,3], 
                   [4,5,6],
                   [6,7,8],
                   [9,10,11]])

我还有其他函数可以返回元素 i 在 p 矩阵 (1d) 中的位置,比如 p(i)

现在我想知道 p(i) 在转换后在二维矩阵 p_reshape 中的位置。

下面显示了从 1d 到 2d 的转换代码:

row=300
col=500
size=row*col
p=np.ones((size))
p_reshape=np.reshape((row,size))

我希望我能很好地表达我的想法。

最佳答案

我想你想要 numpy.unravel_index

In [3]: import numpy as np
In [4]: p = np.array([ 1,2,3,4,5,6,7,8,9,10,11,12])

In [5]: p_reshape = p.reshape(4,3)

In [6]: p_reshape
Out[6]:
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]])

In [7]: np.unravel_index(5, p_reshape.shape)
Out[7]: (1, 2)

关于python - 从 1D reshape 为 2D numpy 数组后如何返回元素的位置(索引)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35181499/

相关文章:

python - 在 tkinter 窗口上使用网格管理器时如何实现滚动条

python - 使用 python 调试器 (pdb) 时调试 cython 代码 (.pyx) - 最佳实践

python-2.7 - Pandas groupby + transform 花费数小时处理 6 亿条记录

python - 不能用python3.5导入numpy,用python2.7可以导入

python - 使用自定义验证器的 Django 文件验证无法按我的预期工作

python - 使用堆栈对列表进行排列

python - 识别十进制数的正则表达式是什么

python - 将行添加到 Pandas 数据框

python-3.x - Skimage Python33 Canny

python - 将 numpy 方程转换为 Keras 后端损失函数方程