gpt4 book ai didi

python - numpy,用数组替换列

转载 作者:太空宇宙 更新时间:2023-11-04 08:27:38 31 4
gpt4 key购买 nike

我正在尝试用具有相同长度的新数组替换一个或多个列。

a = np.array([[1,2,3],[1,2,3],[1,2,3]])
b = np.array([[0,0,0])
a[:, 0] = b

我得到了 ValueError: could not broadcast input array from shape (3,1) into shape (3) 错误。但是,当 b 有多个列时,这会起作用。

a = np.array([[1,2,3],[1,2,3],[1,2,3]])
b = np.array([[0,7],[0,7],[0,7]])
a[:, 0:2] = b

array([[0, 7, 3],
[0, 7, 3],
[0, 7, 3]])

如何有效地用另一个数组替换列?

谢谢

J

最佳答案

如果您像使用 a[:, 0:2] = b 一样使用以下内容,您的示例将正常工作。 [:, 0:1] 实际上只是第一列

a = np.array([[1,2,3],[1,2,3],[1,2,3]])
b = np.array([[0],[0],[0]])
a[:, 0:1] = b

# array([[0, 2, 3],
# [0, 2, 3],
# [0, 2, 3]])

关于python - numpy,用数组替换列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55654972/

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