Индекс 2D-матрицы с 1D-матрицей - PullRequest
0 голосов
/ 04 июня 2019

У меня есть 2D-матрица значений с именем matrix1, как показано ниже:

col1     col2    col3
1         1        0
2         1        2

У меня есть 1D-матрица значений с именем 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 голосов
/ 04 июня 2019

Итак, я заметил, что я использовал 32-битный интерпретатор Python вместо 64-битного Python-интерпретатора (я использую виртуальную среду в Pycharm), изменив интерпретатор Python на 64-битный, исправил эту ошибку памяти.

0 голосов
/ 04 июня 2019

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]])
...