我在三层(从NetCDF
文件访问)中屏蔽了数组数据,如下所示。我想平均这三层,而在平均时不考虑NaN
值(此处-1 )单元。任何建议都会有所帮助。
masked_array(
data=[[ 270, 554, -1],
[ 270, -1, 2068],
[ -1, 554, 2068],
...,
[ -1, -1, 1349],
[ 704, 1019, -1],
[ 704, 1019, 1349]],
mask=False,
fill_value=999999,
dtype=int16)
输出应如下所示:
data=[[412],
[1169],
[1311],
...,
[1349],
[861.5],
[1536]]
答案 0 :(得分:1)
使用pythonic方式:
import numpy as np
# get data from masked array
d = np.ma.getdata(masked_array)
# get the mean
masked_mean = [row[row!=-1].mean() for row in d]