In [16]: np.matrix.transpose
Out[16]: <method 'transpose' of 'numpy.ndarray' objects>
Это то же самое, что и np.ndarray.transpose
.Другими словами, это метод transpose
, который подкласс np.matrix
наследует от родительского np.ndarray
(то, что мы обычно называем массивом numpy
).
np.transpose
- это эквивалент функции, который в конечном итоге вызываетметод транспонирования.Он отличается тем, что сначала может преобразовать свои входные данные в массив, например, если входными данными является списокУ списков, конечно, нет метода транспонирования.
Что касается того, что он делает - с массивом 2d он выполняет обычную математически определенную транспозицию.Что может смутить пользователей из других языков, так это то, что они обобщают концепцию до 1d, 3d и выше.Пока вы это делаете, убедитесь, что вы понимаете разницу между 1d и 2d массивом.Если вы не уверены в этом, транспонирование останется загадкой.
Транспонирование и параметр его осей были объяснены в другом вопросе SO.Я бы посоветовал читать документы вместе с интерактивной сессией, в которой вы можете играть с массивами разных размеров.
In [23]: x = np.arange(24).reshape(2,3,4)
In [24]: x.transpose().shape
Out[24]: (4, 3, 2)
In [25]: x.transpose(0,2,1).shape
Out[25]: (2, 4, 3)
Не пытайтесь перенести интуицию MATLAB.