首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >转置一维NumPy数组

转置一维NumPy数组
EN

Stack Overflow用户
提问于 2011-05-11 02:24:30
回答 11查看 464.6K关注 0票数 240

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

代码语言:javascript
复制
import numpy as np
a = np.array([5,4])
print(a)
print(a.T)

调用a.T不会转置数组。例如,如果a[[],[]],那么它的转置是正确的,但我需要[...,...,...]的转置。

EN

回答 11

Stack Overflow用户

发布于 2012-05-11 14:12:55

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

代码语言:javascript
复制
import numpy as np    
a = np.array([[5, 4]])
a.T

更详细的示例:

代码语言:javascript
复制
>>> 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]])

使用numpy的shape方法查看这里发生了什么:

代码语言:javascript
复制
>>> b = np.array([10,20,30])
>>> b.shape
(3,)
>>> b = np.array([[10,20,30]])
>>> b.shape
(1, 3)
票数 163
EN

Stack Overflow用户

发布于 2013-02-13 11:13:49

您可以将现有的向量转换为矩阵,方法是将其包装在一组额外的方括号中...

代码语言:javascript
复制
from numpy import *
v=array([5,4]) ## create a numpy vector
array([v]).T ## transpose a vector into a matrix

array vs. matrix也有一个matrix类(参见numpy )……

代码语言:javascript
复制
matrix(v).T ## transpose a vector into a matrix
票数 18
EN

Stack Overflow用户

发布于 2014-11-27 04:34:54

numpy一维数组-->列/行矩阵:

代码语言:javascript
复制
>>> a=np.array([1,2,4])
>>> a[:, None]    # col
array([[1],
       [2],
       [4]])
>>> a[None, :]    # row, or faster `a[None]`
array([[1, 2, 4]])

正如@joe-kington所说,为了提高可读性,你可以用np.newaxis代替None

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5954603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档