Предположим, что у меня есть NumPy массив c
построен следующим образом:вложенными Python Numpy массивы размерности путаница
a = np.zeros((2,4))
b = np.zeros((2,8))
c = np.array([a,b])
я ожидал бы c.shape
быть (2,1)
или (2,)
, но вместо этого он (2,2)
. Кроме того, что я хочу сделать, это сцепить вектор-столбец из единиц на a
, но доступ к нему через c
следующим образом:
c0 = c[0] # I would have expected this to be 'a'
np.concatenate((np.ones((c0.shape[0], 1)), c0), axis=1)
Это, конечно, не работает, потому что c[0]
не равна a
, как я ожидается, и я получаю
ValueError: all the input arrays must have same number of dimensions
мне нужен какой-то способ, чтобы иметь массив (или список) пар, каждый компонент пары будучи в Numpy массив, и мне нужно, чтобы получить доступ к первому массив в паре, чтобы сцепить вектор столбца единиц к нему. Мое приложение - машинное обучение, и мои данные будут поступать ко мне в описанном формате, но мне нужно изменить данные в начале, чтобы добавить к нему элемент смещения.
EDIT: Я использую Python 2.7 и Numpy 1.8.2
Ваш пример кода для меня не работает, я получаю значение ValueError: не удалось передать входной массив из формы (2,4) в форму (2) 'w назначая 'c'. – Dux
Я использую Python 2.7, разве это может быть разница? – aconkey
Я тоже использую Python 2.7. Я считаю, что нашел ответ, хотя бы, если бы я понял ваш вопрос правильно ... – Dux