当self.ndim <2时,numpy.ndarray.T和numpy.ndarray.transpose()的区别是什么?

lot*_*rpy 21 python numpy

文件numpy.ndarray.T

ndarray.T - 与self.transpose()相同,只是如果self.ndim <2则返回self.

另外,ndarray.transpose(*axes)说

对于1-D阵列,这没有任何影响.

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

这是一个小的演示片段:

>>> 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]
Run Code Online (Sandbox Code Playgroud)

Mat*_*kin 19

无论等级如何,.T属性和.transpose()方法都是相同的 - 它们都返回数组的转置.

在排名为1的数组的情况下,.T并且.transpose()不执行任何操作 - 它们都返回数组.

  • 我想这意味着`.T`和`transpose()`_call_都返回数组的转置。实际上,.T返回数组的转置,而transpose是一个_more general_ method_,可以给定轴(`transpose(* axes)`,默认情况下使调用`transpose()`等于`.T`)。 (2认同)

Eri*_*got 8

它看起来.T只是一个方便的符号,这.transpose(*axes)是更通用的功能,旨在提供更多的灵活性,因为可以指定轴.它们显然没有在Python中实现,因此需要查看C代码来检查它.