连接数组

时间:2018-02-05 09:42:07

标签: python numpy concatenation series

我有以下数组形状(53248,1)和(2,1)。

array1 = data["Acceleration"].values.reshape((-1,1))

array2 = np.matlib.repmat(0,2,1)

我想将它们连接起来像

twf=np.concatenate(array1,array2)

数据[“加速度”]是熊猫系列。我应用重塑函数的原因是获得(53248,1)数组形状而不是(53248,)。

TypeError:只能将整数标量数组转换为标量索引

由于

2 个答案:

答案 0 :(得分:0)

您可以使用reshape使用两个参数使其工作,如official documentation所示。 首先分配data["Acceleration"].values然后再进行处理。

Python Numpy Reshape Error可能会有所帮助。

答案 1 :(得分:0)

In [220]: array1 = np.ones((5,1)); array2 = np.zeros((2,1))
     ...: 
In [221]: np.concatenate(array1,array2)    
TypeError: only integer scalar arrays can be converted to a scalar index

concatenate的第一个参数应该是数组的列表。第二个,也可以标记为axis,是连接它们的轴。这应该是一个标量。它正在尝试将您的array2转换为标量,因此错误。

使用正确的输入(默认轴0适用于此情况)

In [222]: np.concatenate([array1,array2])
Out[222]: 
array([[1.],
       [1.],
       [1.],
       [1.],
       [1.],
       [0.],
       [0.]])

阅读文档

  

文档字符串:

     

连接((a1,a2,...),轴= 0,out =无)