我有一个名为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],但最终出现内存错误。
一个 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]])
所以我
注意到我使用的是 32 位 python 解释器而不是 64 位 python 解释器(我在 pycharm 中使用虚拟环境(将 python 解释器更改为 64 位修复了此内存错误。