Как добавить столбец в начало массива np? - PullRequest
1 голос
/ 08 февраля 2020

Я хочу добавить столбец x0 из shape(1,10) в начало существующего nparray X из shape(10,3), чтобы конечный массив np X_new стал shape (10,4).

x0 = np.ones((1,np.shape(X)[0]))
X = np.array([[1500,1,2],[1700,3,3],[2000,2,2],[2400,2,3],[2700,3,3],[3000,3,4],[3100,2,3],[3300,3,4],[3500,4,5],[3600,3,4]])

вывод:

X_new = np.array([[1,1500,1,2],[1,1700,3,3],[1,2000,2,2],[1,2400,2,3],[1,2700,3,3],[1,3000,3,4],[1,3100,2,3],[1,3300,3,4],[1,3500,4,5],[1,3600,3,4]])

Я попытался выполнить конкатенацию, hstack, но мне не удалось получить нужный результирующий массив np.

Пожалуйста, помогите. Спасибо.

1 Ответ

2 голосов
/ 08 февраля 2020

Вы используете неправильную форму для x0, после ее изменения вы можете использовать np.hstack:

X = np.array([[1500,1,2],[1700,3,3],[2000,2,2],[2400,2,3],[2700,3,3],[3000,3,4],[3100,2,3],[3300,3,4],[3500,4,5],[3600,3,4]])
x0 = np.ones((np.shape(X)[0],1))

x_new = np.hstack([x0,X])
x_new

array([[1, 1500, 1, 2],
       [1, 1700, 3, 3],
       [1, 2000, 2, 2],
       [1, 2400, 2, 3],
       [1, 2700, 3, 3],
       [1, 3000, 3, 4],
       [1, 3100, 2, 3],
       [1, 3300, 3, 4],
       [1, 3500, 4, 5],
       [1, 3600, 3, 4]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...