将列表转换为数组,然后将其与另一个数组连接会导致错误

问题描述 投票:0回答:2

我想加入两个数组。第一个称为“ results_array”的数组曾经是list(1dim),我正在使用asarray将其转换为数组。它应该导致尺寸为(50,1)的数组,但实际上会导致(50,)类型的数组,我不知道这是什么意思。然后,我想使用级联将其与另一个数组(以列方式)array1连接,该数组实际上具有维度(50,1)

这是我的代码:

results_array=np.asarray(results)
final= np.concatenate((array1, results_array), axis=1)

然后我收到以下错误消息:

ValueError: all the input arrays must have same number of dimensions

我该怎么办?在此先感谢

python arrays list join transformation
2个回答
0
投票

您的结果数组是一维数组,仅给维度一个元素(50,)。如果要串联,则需要对其进行重塑以具有正确的尺寸。

final = np.concatenate([array1, results_array.reshape(-1, 1)], axis=1)

0
投票

您需要相同的一维数组进行串联尝试使用.flatten()将array1设置为1D

results_array=np.asarray(results)
final= np.concatenate((array1.flatten(), results_array))

0
投票

代替asarray函数,您可以使用数组构造函数ie]构建数组。

results_array = np.array(results)
print (results_array.shape)
>>> (1, 50)
© www.soinside.com 2019 - 2024. All rights reserved.