gpt4 book ai didi

python - 如何替换 4 维数组中的值?

转载 作者:行者123 更新时间:2023-11-28 18:22:44 24 4
gpt4 key购买 nike

假设我有一个 4D 数组是

(600, 1, 3, 3)

如果你采用前 2 个元素,它们可能看起来像这样:

0 1 0
1 1 1
0 1 0

2 2 2
3 3 3
1 1 1

etc

我有一个列表,其中包含我想要替换 数组中特定值的某些权重。我的意图是使用列表元素的索引匹配数组中的值。因此,这份榜单

[0.1  1.1  1.2  1.3]

当应用于我的数组时会得到这样的结果:

0.1   1.1   0.1
1.1 1.1 1.1
0.1 1.1 0.1

1.2 1.2 1.2
1.3 1.3 1.3
1.1 1.1 1.1

etc

此方法必须遍历数组的全部 600 个元素。

我可以使用 for 循环和 array[array==x] = ynp.place 以笨拙的方式做到这一点但我想避免循环,也许使用一种可以立即替换所有值的方法。有这样的做法吗?

最佳答案

在评论中引用@Divakar 的解决方案,非常有效地解决了问题:

Simply index into the array version: np.asarray(vals)[idx], where vals is the list and idx is the array. Or use np.take(vals, idx) to do the array conversion under the hood.

关于python - 如何替换 4 维数组中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43923516/

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