Заполните матрицу, используя другую матрицу с тем же количеством строк, но другим количеством столбцов. - PullRequest
0 голосов
/ 18 июня 2020

У меня есть одна пустая матрица A

0 0 0
0 0 0

, и у меня есть другая непустая матрица B

1 2
3 4

Я хочу поместить, например, первый столбец B в первый столбец A, второй столбец B в третий столбец A, например

1 0 2
3 0 4

Идея в том, что я хочу иметь возможность сопоставить один столбец B с A.

Как я могу добиться этого, используя numpy и причудливую индексацию?

Ответы [ 3 ]

0 голосов
/ 18 июня 2020

Вот go:

>>> import numpy as np
>>> A = np.zeros((2, 3))
>>> B = np.array([[1,2], [3,4]])
>>> A[:, 0] = B[:, 0]
>>> A[:, 2] = B[:, 1]
>>> A
array([[1., 0., 2.],
       [3., 0., 4.]])

0 голосов
/ 18 июня 2020

Вы можете попробовать это

a=np.zeros((2,3))
b=np.array([1,2,3,4]).reshape((2,2))
a[:,0]=b[:,0]
a[:,2]=b[:,1]
0 голосов
/ 18 июня 2020

Вы можете попробовать это:

import numpy as np

a = np.array([[0,0,0],[0,0,0]])
b= np.array([[1,2],[3,4]])
a.T[0]=b.T[0]
a.T[2]=b.T[1]
print(a)

Вывод:

[[1 0 2]
 [3 0 4]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...