来自这样的蒙面二维数组:( x
= --
)
x x x x
x 5 6 x
x x x x
x x 9 x
我怎样才能得到:(尽可能多地限制边缘直到达到数字)
5 6
x x
x 9
感谢。
答案 0 :(得分:0)
使用切片:-)
slice = x[1:, 1:-1]
您还可以修剪边缘:
while all(x.mask[0, :]): x = x[1:, :]
while all(x.mask[-1, :]): x = x[:-1, :]
while all(x.mask[:, 0]): x = x[:, 1:]
while all(x.mask[:, -1]): x = x[:, :-1]
答案 1 :(得分:0)
这应该为一般情况做你想要的切片:
import numpy as np
si, se = np.where(~x.mask)
x = x[si.min():si.max() + 1, se.min():se.max() + 1]