如何解决在不考虑NaN值的情况下平均数组中的不同层
我在三层(从NetCDF
文件访问)中屏蔽了数组数据,如下所示。我想平均这三层,而在平均时不考虑NaN
值(此处-1 )单元。任何建议都会有所帮助。
masked_array(
data=[[ 270,554,-1],[ 270,-1,2068],[ -1,...,1349],[ 704,1019,1349]],mask=False,fill_value=999999,dtype=int16)
输出应如下所示:
data=[[412],[1169],[1311],[1349],[861.5],[1536]]
解决方法
使用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]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。