如何从具有周期性边界条件的numpy数组中选择一个窗口?

如何从具有周期性边界条件的numpy数组中选择一个窗口?,第1张

如何从具有周期性边界条件的numpy数组中选择一个窗口
import numpy as npA=np.arange(16).reshape((4,4))def neighbors(arr,x,y,n=3):    ''' Given a 2D-array, returns an nxn array whose "center" element is arr[x,y]'''    arr=np.roll(np.roll(arr,shift=-x+1,axis=0),shift=-y+1,axis=1)    return arr[:n,:n]print(A)# [[ 0  1  2  3]#  [ 4  5  6  7]#  [ 8  9 10 11]#  [12 13 14 15]]print(neighbors(A,0,0))# [[15 12 13]#  [ 3  0  1]#  [ 7  4  5]]print(neighbors(A,1,0))# [[ 3  0  1]#  [ 7  4  5]#  [11  8  9]]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存