Ответ 1
Независимо от ранга, атрибут .T
и метод .transpose()
одинаков - оба они возвращают транспонирование массива.
В случае массива ранга 1 .T
и .transpose()
ничего не делают - оба возвращают массив.
В документе numpy.ndarray.T говорится
ndarray.T - То же, что и self.transpose(), за исключением того, что self возвращается, если self.ndim < 2.
Кроме того, ndarray.transpose(* axes) говорит
Для одномерного массива это не влияет.
Разве это не означает одно и то же?
Вот небольшой фрагмент демо:
>>> import numpy as np
>>> print np.__version__
1.5.1rc1
>>> a = np.arange(7)
>>> print a, a.T, a.transpose()
[0 1 2 3 4 5 6] [0 1 2 3 4 5 6] [0 1 2 3 4 5 6]
Независимо от ранга, атрибут .T
и метод .transpose()
одинаков - оба они возвращают транспонирование массива.
В случае массива ранга 1 .T
и .transpose()
ничего не делают - оба возвращают массив.
Похоже, что .T
- просто удобная нотация, а .transpose(*axes)
- более общая функция и предназначена для большей гибкости, поскольку осями можно указать. Они, по-видимому, не реализованы в Python, поэтому вам нужно будет изучить код C, чтобы проверить это.