gpt4 book ai didi

python - 选择索引周围的 NumPy 值

转载 作者:行者123 更新时间:2023-12-02 09:45:35 26 4
gpt4 key购买 nike

我有两个 NumPy 数组:

import numpy as np

m = 3
x = np.array([1, 0, 0, np.inf, 0, 0, 1, 1, 2, np.inf, np.inf, 2, 3, 4, 5, 6, 7, 8, 9, 10])
y = np.arange(x.shape[0]-m+1)

假设 x 中只要存在 np.inf,该索引位置就称为 i。对于每个i,我想设置y[i-m+1:i+m] = np.inf的值。因此,替换后,y 应该如下所示:

array([0, np.inf, np.inf, np.inf, np.inf, np.inf, 6, np.inf, np.inf, np.inf, np.inf, np.inf, np.inf, 13, 14, 15, 16, 17])

m 的值增加或减少时,这也应该起作用。

最佳答案

我能想到的最简单的解决方案是使用 np.convolve函数来扩大掩模。这可以按如下方式完成:

mask = np.convolve(x==np.inf, [True]*(m*2-1), mode='same')
y[mask[:-m+1]] = np.inf

关于python - 选择索引周围的 NumPy 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59736043/

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