gpt4 book ai didi

python - 在 2d ndarray 表示的位置更改 3D ndarray

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:02 24 4
gpt4 key购买 nike

这是我第一次重要地使用 numpy,我在一个地方遇到了一些麻烦。

所以,我有 colors、一个 (xsize + 2, ysize + 2, 3) ndarray 和 newlife、一个 >(xsize + 2, ysize + 2) bool 值的 ndarray。我想在 newlife 为 true 的所有位置向所有三个颜色值添加 -5 到 5 之间的随机值。换句话说,newlife 将 2D 向量映射到我是否要向该位置的 colors 中的颜色添加随机值。

我已经尝试过一百万种变体:

colors[np.nonzero(newlife)] += (np.random.random_sample((xsize + 2,ysize + 2, 3)) * 10 - 5)

但我不断收到类似的东西

ValueError:操作数无法与形状 (589,3) (130,42,3) (589,3) 一起广播

我该怎么做?

最佳答案

我认为这符合你的要求:

# example data
colors = np.random.randint(0, 100, (5,4,3))
newlife = np.random.randint(0, 2, (5,4), bool)

# create values to add, then mask with newlife
to_add = np.random.randint(-5,6, (5,4,3))
to_add[~newlife] = 0

# modify in place
colors += to_add

关于python - 在 2d ndarray 表示的位置更改 3D ndarray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47483590/

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