Обратите внимание, numpy рекомендует здесь , что np.matrix
не следует использовать, вместо этого просто используйте массивы:
Больше не рекомендуется использовать этот класс, даже для линейныхалгебра. Вместо этого используйте обычные массивы. Класс может быть удален в будущем.
Если вы посмотрите, что такое a[0]
, вы увидите проблему. Давайте реализуем это в меньшем размере, чтобы его было проще визуализировать:
import numpy as np
# I'm using all zeros here for simplicity
y = np.matrix(np.zeros((5, 10)))
y.shape
(5, 10)
y[0]
matrix([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
y[0]
- это матрица , состоящая из 1 строки и 10 столбцов:
y[0].shape
(1, 10)
Если вы используете np.array
, вы вообще избежите этой проблемы
x = np.zeros((5, 10))
x.shape
(5, 10)
len(x[0])
10
x[0].shape
(10,)