gpt4 book ai didi

python - 用较小的数组替换较大的 numpy 数组中的值

转载 作者:太空宇宙 更新时间:2023-11-04 10:16:56 24 4
gpt4 key购买 nike

我有 2 个 numpy 数组:较大的一个是 10 x 10 numpy 数组,较小的一个是 2 x 2 数组。

我想在用户指定的位置用较小数组中的值替换较大数组中的值。例如。通过用 2 x 2 数组替换 4 个值,从中心点开始替换 10 x 10 数组的值。

现在,我正在通过使用嵌套 for 循环来执行此操作,并找出较大数组中的哪些像素与较小数组中的像素重叠。有没有更 pythonic 的方法来做到这一点?

最佳答案

In [1]: import numpy as np

In [2]: a = np.zeros(100).reshape(10,10)

In [3]: b = np.ones(4).reshape(2,2)

In [4]: a[4:6, 4:6] = b

In [5]: a
Out[5]:
array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 1., 1., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 1., 1., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])

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

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