Python: изменить размер существующего массива и заполнить нулями

Я думаю, что моя проблема должна быть очень простой, но я не могу найти никакой помощи в Интернете вообще. Я новичок в Python, поэтому возможно, что Мне не хватает чего-то очень очевидного.

У меня есть массив S, подобный этому [x x x] (одномерный) . Я сейчас создаю диагональная матрица, sigma , с np.diag (S) - пока все хорошо. Теперь я хочу измените размер этого нового диагонального массива, чтобы я мог умножить его на другой массив, У меня есть.

import numpy as np
...
shape = np.shape((6, 6)) #This will be some pre-determined size
sigma = np.diag(S) #diagonalise the matrix - this works
my_sigma = sigma.resize(shape) #Resize the matrix and fill with zeros - returns "None" - why?

Однако, когда я печатаю содержимое my_sigma , я получаю «Нет» . Может кто-нибудь пожалуйста укажи мне в правильном направлении, потому что я не могу представить, что это должно быть так сложно.

Заранее благодарим за любую помощь!

Каспер

Изображение:

У меня есть это:

[x x x]

Я хочу это:

[x 0 0]
[0 x 0]
[0 0 x]
[0 0 0]
[0 0 0]
[0 0 0] - or some similar size, but the diagonal elements are important.
25
задан borgr 4 December 2017 в 08:11
поделиться