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

时间:2010-11-01 10:40:33

标签: python numpy

文档numpy.ndarray.T

  

ndarray.T - 与self.transpose()相同,除非self.ndim<返回self。 2。

另外,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]

2 个答案:

答案 0 :(得分:19)

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

对于排名为1的数组,.T.transpose()不执行任何操作 - 它们都返回数组。

答案 1 :(得分:6)

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