用1D矩阵索引2D矩阵

时间:2019-06-04 17:01:56

标签: python-3.x numpy indexing numpy-ndarray

我有一个名为matrix1的二维矩阵,如下所示:

col1     col2    col3
1         1        0
2         1        2

我有一个名为arr1的一维值矩阵,如下所示:

col1
10
20
30

我想使用2D矩阵中的值来索引1D矩阵中的值,从而在此过程中创建一个新的2D矩阵。

new_col1      new_col2      new_col3
  20            20             10
  30            20             30

实际数组的形状为(512,1),矩阵的形状为(65672,720)。我曾尝试使用arr1 [matrix1],但最终遇到内存错误。

2 个答案:

答案 0 :(得分:0)

Python3解决方案:

import numpy as np
x = np.array([[1, 1, 0], [2, 1, 2]])
y = np.array([10, 20, 30])
y[x]

输出:

array([[20, 20, 10],
       [30, 20, 30]])

答案 1 :(得分:0)

所以我注意到我使用的是32位python解释器而不是64位python解释器(我在pycharm中使用虚拟环境)将python解释器更改为64位,从而解决了此内存错误。