我有以下数组形状(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:只能将整数标量数组转换为标量索引
由于
答案 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 =无)