1

从像这样的蒙面二维数组:( x= --)

x x x x
x 5 6 x
x x x x
x x 9 x

我怎样才能得到:(尽可能地限制边缘直到达到一个数字)

5 6
x x 
x 9

谢谢。

4

2 回答 2

0

对于一般情况,这应该可以满足您的需求:

import numpy as np
si, se = np.where(~x.mask)
x = x[si.min():si.max() + 1, se.min():se.max() + 1]
于 2013-05-28T10:33:22.250 回答
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]
于 2013-05-28T08:53:26.280 回答