提问人:Rararat 提问时间:11/7/2023 最后编辑:Rararat 更新时间:11/7/2023 访问量:52
将函数应用于某些索引上的 Numpy 数组
Apply function to Numpy array on certain indexes
问:
我有一个任意大小的 3D numpy 数组和一个函数,该函数接受一个向量并返回相同的向量,但对每个元素进行平方,即 .fun()
[x1,x2,...,xn]
[x1**2,x2**2,...,xn**2]
我想将该函数应用于具有满足特定条件的索引的元素。例如,我想将我的函数应用于索引为 form 等的每个元素(两个坐标都可以被 2 整除的索引)。fun()
[0,0],[0,2],...,[2,0],[2,2],...
我知道使用诸如检查值是否能被 2 整除之类的东西,但我不知道如何使用条件来检查索引。我想过使用apply_over_axis并在函数内部检查坐标是否满足要求,但我认为这可能效率太低了。有没有快速的方法可以做到这一点?array[array%2 == 0]
答: 暂无答案
评论
x[::2, ::2]
x
x[::2,::2] = fun(x[::2,::2])
fun()
fun
x[::2, ::2]
vectorized
x
x1 = x[::2,::2]**2