栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

numpy数组串联:“ ValueError:所有输入数组的维数必须相同”

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

numpy数组串联:“ ValueError:所有输入数组的维数必须相同”

要使用

np.concatenate
,我们需要将第二个数组扩展到
2D
,然后沿着
axis=1
-

np.concatenate((a,b[:,None]),axis=1)

或者,我们可以使用

np.column_stack
它来照顾它-

np.column_stack((a,b))

样品运行-

In [84]: aOut[84]: array([[54, 30, 55, 12],       [64, 94, 50, 72],       [67, 31, 56, 43],       [26, 58, 35, 14],       [97, 76, 84, 52]])In [85]: bOut[85]: array([56, 70, 43, 19, 16])In [86]: np.concatenate((a,b[:,None]),axis=1)Out[86]: array([[54, 30, 55, 12, 56],       [64, 94, 50, 72, 70],       [67, 31, 56, 43, 43],       [26, 58, 35, 14, 19],       [97, 76, 84, 52, 16]])

如果

b
是这样,它的一个
1D
阵列
dtype=object
具有的形状
(1,)
,很可能所有的数据都包含在它的唯一元素,我们需要 压扁
在连接前出来。为此,我们也可以使用
np.concatenate
它。这里是一个示例,目的是为了清楚地说明这一点-

In [118]: aOut[118]: array([[54, 30, 55, 12],       [64, 94, 50, 72],       [67, 31, 56, 43],       [26, 58, 35, 14],       [97, 76, 84, 52]])In [119]: bOut[119]: array([array([30, 41, 76, 13, 69])], dtype=object)In [120]: b.shapeOut[120]: (1,)In [121]: np.concatenate((a,np.concatenate(b)[:,None]),axis=1)Out[121]: array([[54, 30, 55, 12, 30],       [64, 94, 50, 72, 41],       [67, 31, 56, 43, 76],       [26, 58, 35, 14, 13],       [97, 76, 84, 52, 69]])


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470503.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号