将两个不同形状的numpy数组合并为一个数组

时间:2014-01-24 15:48:35

标签: python arrays numpy

我有两个numpy数组的 a b ,长度分别为53和82。我想将它们合并为一个数组,因为我想使用53 + 82 = 135长度数组,比如称之为 c 进行绘图。

我试过

c = a+b 

但是我得到 ValueError:形状不匹配:对象无法广播到单个形状

这可能吗?

2 个答案:

答案 0 :(得分:4)

您需要使用numpy.concatenate而不是数组添加

c = numpy.concatenate((a, b))

<强>实施

import numpy as np
a = np.arange(53)
b = np.arange(82)
c = np.concatenate((a, b))

<强>输出

c.shape
(135, )

答案 1 :(得分:4)

使用numpy.concatenate

In [5]: import numpy as np

In [6]: a = np.arange(5)                                                                         

In [7]: b = np.arange(11)                                                                        

In [8]: np.concatenate((a, b))                                                                   
Out[8]: array([ 0,  1,  2,  3,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10])

对于1-D阵列,您还可以使用numpy.hstack

In [9]: np.hstack((a, b))                                                                       
Out[9]: array([ 0,  1,  2,  3,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10]