/ / Как мога да създам матрица или да преобразувам 2D масив в матрица в Python? - python, масиви, numpy, матрица, матрично-умножение

Как мога да създам матрица или да преобразувате 2D масив в матрица в Python? - питън, масиви, изображение, матрица, матрица-умножение

Искам да мога да извличам ред или колона от 2D масив в Python така, че да запазва 2D формата и да се използва за умножение на матрици. Въпреки това, не мога да намеря в документация как това може да се направи най-добре. Например, мога да използвам

a = np.zeros(shape=(6,6))

за създаване на масив, но [:, 0] ще има формата на (6,) и не мога да умножа това с матрица с форма (6,1). Трябва ли да променям ред или колона на масив в матрица за всяко умножение на матрица или има други начини за умножаване на матрицата?

Отговори:

2 за отговор № 1

Можете да използвате np.matrix директно:

>>> a = np.zeros(shape=(6,6))
>>> ma = np.matrix(a)
>>> ma
matrix([[ 0.,  0.,  0.,  0.,  0.,  0.],
[ 0.,  0.,  0.,  0.,  0.,  0.],
[ 0.,  0.,  0.,  0.,  0.,  0.],
[ 0.,  0.,  0.,  0.,  0.,  0.],
[ 0.,  0.,  0.,  0.,  0.,  0.],
[ 0.,  0.,  0.,  0.,  0.,  0.]])
>>> ma[0,:]
matrix([[ 0.,  0.,  0.,  0.,  0.,  0.]])

или можете да добавите измерението с np.newaxis

>>> a[0,:][np.newaxis, :]
array([[ 0.,  0.,  0.,  0.,  0.,  0.]])