Как переставить 2-элементный вектор - PullRequest
1 голос
/ 23 мая 2011

В Python у меня есть массив 2x1

a=array([[ 0,  4,  8, 12, 16],
     [ 0,  8, 16, 24, 32]])

Когда я извлекаю вектор столбца

c=a[:,1]

C становится массивом 1x2, и я хочу, чтобы он был массивом 2x1. Применение транспонирования, похоже, не помогает.

Есть предложения?

Спасибо

Ответы [ 3 ]

8 голосов
/ 23 мая 2011

После

c=a[:,1]

c теперь:

array([4, 8])

т.е. массив 1D (поэтому даже не 1x2).

Если вы хотите2x1 массив, попробуйте это:

c = a[:,1:2]

это станет:

array([[4],
       [8]])
1 голос
/ 23 мая 2011

Другие параметры включают:

import numpy as np
c = a[:,1]

, а затем доступ к данным с нужной формой с помощью:

c[:,np.newaxis]

или

c[:,None]
1 голос
/ 23 мая 2011

Вы пробовали c.reshape(2,1)?

...