如何转置NumPy阵列?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (24)

我使用Python和NumPy,在“Transspose”方面有一些问题:

a=array([5,4])
print a
print a.T

调用a.T不是转移数组。

提问于
用户回答回答于

如果你想把你的一维矢量转换成一个二维数组,只需用np.newaxis

import numpy as np
a = np.array([5,4])[np.newaxis]
print a
print a.T

用户回答回答于

使用两个括号对而不是一个。这将创建一个2D数组,它可以被转置,与使用一个括号对时创建的一维数组不同。

import numpy as np    
a = np.array([[5, 4]])
a.T

更彻底的例子:

>>> a = [3,6,9]
>>> b = np.array(a)
>>> b.T
array([3, 6, 9])         #Here it didn't transpose because 'a' is 1 dimensional
>>> b = np.array([a])
>>> b.T
array([[3],              #Here it did transpose because a is 2 dimensional
       [6],
       [9]])

用小矮人的shape方法来查看这里发生了什么:

>>> b = np.array([10,20,30])
>>> b.shape
(3,)
>>> b = np.array([[10,20,30]])
>>> b.shape
(1, 3)

扫码关注云+社区