Python 连接numpy数组并获得所需形状

Python 连接numpy数组并获得所需形状,python,arrays,numpy,concatenation,Python,Arrays,Numpy,Concatenation,假设有一个numpy数组a=[1,2,3,4,5],另一个numpy数组b=[6,7,8,9,10]。如何连接数组并创建形状(5,2)的numpy数组。我尝试了np.row_stack和np.vstack(它们做相同的事情),但这只会产生一个形状为(2,5)的np数组。如何避免这种情况并获得所需的连接 比你强 np.vstack是一种方法,您只需要在之后添加一个换位步骤 c = np.vstack((a, b)).T print(c) array([[ 1, 6], [

假设有一个numpy数组a=[1,2,3,4,5],另一个numpy数组b=[6,7,8,9,10]。如何连接数组并创建形状(5,2)的numpy数组。我尝试了np.row_stack和np.vstack(它们做相同的事情),但这只会产生一个形状为(2,5)的np数组。如何避免这种情况并获得所需的连接


比你强

np.vstack
是一种方法,您只需要在之后添加一个换位步骤

c = np.vstack((a, b)).T
print(c)    
array([[ 1,  6],
       [ 2,  7],
       [ 3,  8],
       [ 4,  9],
       [ 5, 10]])

print(c.shape)
(5, 2)

同样,您也可以使用
np.array
构造函数(如果他们决定发布,将删除):


np.vstack
是一种方法,您只需要在之后添加一个换位步骤

c = np.vstack((a, b)).T
print(c)    
array([[ 1,  6],
       [ 2,  7],
       [ 3,  8],
       [ 4,  9],
       [ 5, 10]])

print(c.shape)
(5, 2)

同样,您也可以使用
np.array
构造函数(如果他们决定发布,将删除):


Newish
np.stack
提供对新轴的更多控制:

In [37]: a = [1,2,3,4,5]
In [38]: b = [6,7,8,9,10]
In [39]: np.stack((a,b), axis=1)
Out[39]: 
array([[ 1,  6],
       [ 2,  7],
       [ 3,  8],
       [ 4,  9],
       [ 5, 10]])
In [40]: _.shape
Out[40]: (5, 2)
使用默认的
轴=0
,它的行为类似于
np.array
,生成一个(2,5)数组

vstack
docs注释:

为了向后兼容,仍然支持此函数,但是 您应该更喜欢
np.concatenate
np.stack
np.stack
NumPy 1.10中添加了函数


我认为这夸大了情况,但仍然,
stack
是我最喜欢的新函数之一。我还建议查看类似这样的函数的Python代码。大多数在修改输入的维度后,最终使用了
连接

Newish
np。堆栈
提供了对新轴的更多控制:

In [37]: a = [1,2,3,4,5]
In [38]: b = [6,7,8,9,10]
In [39]: np.stack((a,b), axis=1)
Out[39]: 
array([[ 1,  6],
       [ 2,  7],
       [ 3,  8],
       [ 4,  9],
       [ 5, 10]])
In [40]: _.shape
Out[40]: (5, 2)
使用默认的
轴=0
,它的行为类似于
np.array
,生成一个(2,5)数组

vstack
docs注释:

为了向后兼容,仍然支持此函数,但是 您应该更喜欢
np.concatenate
np.stack
np.stack
NumPy 1.10中添加了函数


我认为这夸大了情况,但仍然,
stack
是我最喜欢的新函数之一。我还建议查看类似这样的函数的Python代码。大多数人在摆弄输入的维度后,最终使用了
串联

np.vstack((a,b)).T
也可以只使用数组函数
np.array([a,b]).T
np.vstack((a,b)).T
也可以只使用数组函数
np.array([a,b])。T
与你的答案非常相似,希望您添加:)与您的答案非常相似,希望您添加:)