我有一个名为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],但最终遇到内存错误。
答案 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位,从而解决了此内存错误。