gpt4 book ai didi

python - 二维数组中 8 个邻居的总和

转载 作者:太空狗 更新时间:2023-10-29 20:51:28 25 4
gpt4 key购买 nike

我需要找到一个单元格的所有相邻元素的总和,例如 getsumofneighbors(matrix, i, j):

'M*N matrix'
[[0 1 0]
[2 0 1]
[0 4 0]
[0 0 0]]

单元格 [0][0] 的最近元素之和为 3

[1][0] 是 5

[1][1] 处是 8

是否有一个 python 库可以找到给定单元格旁边所有元素的总和?

最佳答案

如果不介意对scipy的依赖,可以使用scipy.ndimage.convolve ,如下:

In [475]: a
Out[475]:
array([[0, 1, 0],
[2, 0, 1],
[0, 4, 0],
[0, 0, 0]])

In [476]: kernel
Out[476]:
array([[1, 1, 1],
[1, 0, 1],
[1, 1, 1]])

In [477]: from scipy.ndimage import convolve

In [478]: c = convolve(a, kernel, mode='constant')

In [479]: c
Out[479]:
array([[3, 3, 2],
[5, 8, 5],
[6, 3, 5],
[4, 4, 4]])

关于python - 二维数组中 8 个邻居的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36964875/

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