使用 Python 中的 2D 屏蔽数组,获取包含非屏蔽值的第一行和最后一行和列的索引的最佳方法是什么?
import numpy as np
a = np.reshape(range(30), (6,5))
amask = np.array([[True, True, False, True, True],
[True, False, False, True, True],
[True, True, True, False, True],
[True, False, False, False, True],
[True, True, True, False, True],
[True, True, True, True, True]])
a = np.ma.masked_array(a, amask)
print a
# [[-- -- 2 -- --]
# [-- 6 7 -- --]
# [-- -- -- 13 --]
# [-- 16 17 18 --]
# [-- -- -- 23 --]
# [-- -- -- -- --]]
在这个例子中,我想获得:
(0, 4)
对于轴 0(因为未屏蔽值的第一行是 0,最后一行是 4;第 6 行(第 5 行)仅包含屏蔽值)
(1, 3)
对于轴 1(因为具有未屏蔽值的第一列是 1,而最后一列是 3(第 1 列和第 5 列仅包含屏蔽值))。
[我想过可能结合numpy.ma.flatnotmasked_edges
和numpy.apply_along_axis
,但没有成功......]
素胚勾勒不出你
哈士奇WWW
相关分类