конкатенировать вектор столбца до конца матрицы - PullRequest
1 голос
/ 19 октября 2019

Я пытался добавить вектор столбца в конце матрицы следующим образом:

import numpy as np
datas=[[1,2],[3,4]]
temp=[1,2]
datas=np.array(datas)
temp=np.transpose(np.array(temp))

np.append(datas,temp,axis=1)

Но я получаю ошибку несоответствия размеров?

Как мне сделать это правильното

Ответы [ 2 ]

1 голос
/ 19 октября 2019

Рекомендую вам просто использовать np.expand_dims (), а затем np.hstack ()

datas=[[1,2],[3,4]]
temp=[1,2]

#Expand the dims of temp
temp = np.expand_dims(temp,1) 

#Stack horizontally
np.hstack((datas, temp))
array([[1, 2, 1],
       [3, 4, 2]])
1 голос
/ 19 октября 2019

вам нужно добавить одно измерение к temp, чтобы оба массива имели одинаковое измерение

import numpy as np
datas=[[1,2],[3,4]]
temp=[1,2]
datas=np.array(datas)
temp=np.array(temp)[:, np.newaxis] ## this adds new dimension 

np.append(datas,temp,axis=1)

, вы также можете сделать это, используя функцию сцепления, как показано ниже. Это будет работать лучше, если вы объединяете более двух массивов. Здесь вы создаете список Python ls в цикле, а затем объединяете их

ls = [datas,temp]
np.concatenate(ls, axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...