gpt4 book ai didi

python - 值错误 : zero-dimensional arrays cannot be concatenated

转载 作者:行者123 更新时间:2023-12-04 11:38:47 35 4
gpt4 key购买 nike

我有以下值,每个值都是 double 类型的标量:a1, a2, a3, a4, a5 .

我尝试使用 Numpy 连接它们,如下所示:

f = np.concatenate((a1,a2,a3,a4,a5))

但是,我收到以下错误:
ValueError: zero-dimensional arrays cannot be concatenated

我可能做错了什么?

谢谢。

最佳答案

concatenate将列表中的每个项目转换为一个数组(如果还没有),并尝试加入它们:

In [129]: np.concatenate([1,2,3,4])
...

ValueError: zero-dimensional arrays cannot be concatenated
hstack采取添加的步骤: arrs = [atleast_1d(_m) for _m in tup] ,确保它们至少是 1d:
In [130]: np.hstack([1,2,3,4])
Out[130]: array([1, 2, 3, 4])

但是从标量创建数组的标准方法是使用 np.array ,它沿新轴连接项目:
In [131]: np.array([1,2,3,4])
Out[131]: array([1, 2, 3, 4])

请注意 np.array 1 个标量是一个 0d 数组:
In [132]: np.array(1)
Out[132]: array(1)

In [133]: _.shape
Out[133]: ()

如果我想将 4 个 0d 数组连接在一起,需要多长时间? 4*0 = 0? 4 个 1d 阵列连接在它们的公共(public)轴上是 4*1=4; 4 个二维数组 (n,m),将是 (4n,m) 或 (n,4m) 取决于轴。
np.stack也有效。它的作用类似于:
In [139]: np.concatenate([np.expand_dims(i,axis=0) for i in [1,2,3,4]])
Out[139]: array([1, 2, 3, 4])

关于python - 值错误 : zero-dimensional arrays cannot be concatenated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48471329/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com