Python 什么';当self.ndim<;2.

Python 什么';当self.ndim<;2.,python,numpy,Python,Numpy,文件说 T-与self.transpose()相同,只是self.ndim

文件说

T-与self.transpose()相同,只是self.ndim<2时返回self

另外,ndarray.transpose(*轴)表示

对于一维阵列,这没有任何影响

这不是意味着同样的事情吗

下面是一个小演示片段:

>>> 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代码来检查这一点。

没有任何有效的区别(它们都将视图返回到原始数组中)。事实上,文档似乎对
ndarray.T
有错误<代码>自我似乎未返回。换句话说,
x不是x.T
,即使它是一维数组。(内容是相同的,但每次都会返回一个新对象,该对象具有相同内容的视图)。@Joe Kington,感谢您提供的信息。我想这意味着
.T
transpose()
调用都会返回数组的转置。事实上,
.T
返回数组的转置,而
转置
是一种更通用的方法,可以指定轴(
转置(*轴)
,默认值使调用
转置()
相当于
.T
)。