我尝试从一个包含NoData值的数组中获取百分位数。在我的情况下,NoData值由-3.40282347e+38表示。我以为掩码数组会把这些值排除在进一步计算之外。我成功地创建了掩码数组,但是在np.percentile()函数中,掩码没有效果。
>>> DataArray = np.array(data)
>>> DataArray
([[ value, value...]], dtype=float32)
>>> masked_data = ma.masked_where(DataArray < 0, DataArray)
>>> p5 = np.percentile(masked_data, 5)
>>> print p5
-3.40282347e+38