gpt4 book ai didi

python - Numpy 始终将邻居获取为 3x3 矩阵

转载 作者:行者123 更新时间:2023-11-28 22:32:58 25 4
gpt4 key购买 nike

假设我有一个大小为 (5,5) 的二维 numpy 数组。我可以使用以下语句获取索引 (i,j) 的邻居:

a = range(25)
a = np.reshape(a, (5,5))

n = a[i-1:i+2, j-1:j+2]

这对 0 < i,j < 4 非常有用.我的问题是我总是想得到 3x3数组,但如果其中一个索引是 0 或 4,我不明白(如果 i=0 范围是 (-1, 2) = (4, 2),我们得到一个空范围)

你有什么想法我总能得到一个3x3吗?矩阵并用零填充“失败的索引”?

最佳答案

首先使用np.pad 扩展您的数组,然后索引到结果中。你必须相应地改变你的索引。

>>> b = np.pad(a, pad_width=1, mode='constant')
>>> b
array([[ 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 1, 2, 3, 4, 0],
[ 0, 5, 6, 7, 8, 9, 0],
[ 0, 10, 11, 12, 13, 14, 0],
[ 0, 15, 16, 17, 18, 19, 0],
[ 0, 20, 21, 22, 23, 24, 0],
[ 0, 0, 0, 0, 0, 0, 0]])
>>>

关于python - Numpy 始终将邻居获取为 3x3 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40412432/

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