gpt4 book ai didi

python - 在 Python 中连接二维 numpy 数组

转载 作者:行者123 更新时间:2023-12-04 15:00:07 25 4
gpt4 key购买 nike

我想连接这两个数组

a = np.array([[1,2,3],[3,4,5],[6,7,8]])  
b = np.array([9,10,11])

这样

a = [[1,2,3,9],[3,4,5,10],[6,7,8,11]]

尝试使用连接

for i in range(len(a)):
a[i] = np.concatenate(a[i],[b[i]])

出现错误:

TypeError: 'list' object cannot be interpreted as an integer

尝试使用追加

for i in range(len(a)):
a[i] = np.append(a[i],b[i])

还有一个错误:

ValueError: could not broadcast input array from shape (4,) into shape (3,)

(stackoverflow 的新手,抱歉,如果我没有格式化好)

最佳答案

您可以为此使用 hstack 和矢量广播:

a = np.array([[1,2,3],[3,4,5],[6,7,8]])  
b = np.array([9,10,11])
res = np.hstack((a, b[:,None]))
print(res)

输出:

[[ 1  2  3  9]
[ 3 4 5 10]
[ 6 7 8 11]]

请注意,您不能使用concatenate,因为数组有不同的形状hstack 水平堆叠多维 数组,因此它只是在此处末尾添加一个新行。需要广播操作 (b[:,None]),以便附加的矢量是垂直的。

关于python - 在 Python 中连接二维 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67109855/

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