gpt4 book ai didi

python - ndarray连接错误

转载 作者:行者123 更新时间:2023-11-30 23:06:04 24 4
gpt4 key购买 nike

我希望连接以下数组:

a=np.array([[1,2],[1],[2,3,4]])    
b=np.array([[20,2]])
np.concatenate((a,b),axis=0)

但我收到以下错误:

ValueError                                Traceback (most recent call last)
<ipython-input-40-42253341965b> in <module>()
----> 1 np.concatenate((a,b),axis=0)

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

我期待的答案是[[1,2],[1],[2,3,4],[20,2]]。如果 b=np.array([20,2]) 相反,串联工作正常,除非我得到答案:[[1,2],[1],[2,3, 4],20,2]

最佳答案

检查a的dtype、ndim和shape:你会发现它们是numpy.object、1和(3,) 分别。这是因为数组a包含不​​同长度的列表,因此每个列表都被视为一个对象,而a是一个一维对象数组。我不知道您的目标是什么,但如果您希望 a 的 ndim 为 2,则需要确保所有列表的长度相同。

当然,b 的 ndim 为 2,因为它仅包含一个(嵌套)列表,这将始终生成常规的 n 维数组。

错误消息很明显:您正在尝试连接两个具有不同维度的数组:这是行不通的。

要获得您正在寻找的答案,[[1,2],[1],[2,3,4],[20,2]],您需要将 b 的内部列表也转换为一个对象:然后您将连接两个一维对象数组。

关于python - ndarray连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32860057/

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