пустая строка / столбец в 1D вектор? - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть векторы строк / столбцов:

row = np.r_['r', [1, 2]]
col = np.r_['c', [1, 2]]

, и я хочу преобразовать их в одномерные массивы, эквивалентные

np.array([1, 2])

Я пытался ravel, flatten, squeeze, но они все возвращаютисходный массив (двумерный массив).

У меня вопрос

  • почему они не работают?
  • каков подходящий способ сделать это?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

У вас есть матрицы, а не массивы, поэтому in не работает.

Создайте представление для матрицы и измените его:

np.asarray(row).reshape(-1)
0 голосов
/ 12 декабря 2018

В этом случае np.r_ создает матрицу

row = np.r_['r', [1, 2]]
col = np.r_['c', [1, 2]]

print(type(row))
# numpy.matrixlib.defmatrix.matrix

Вы можете сгладить их, сначала преобразовав их в массив

print(np.array(row).flatten().shape)
# (2,)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...