为了账号安全,请及时绑定邮箱和手机立即绑定

在不考虑 NaN 值的情况下对数组中的不同层进行平均

在不考虑 NaN 值的情况下对数组中的不同层进行平均

哈士奇WWW 2023-05-16 16:47:39
我在三层(从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]]
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

使用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]


查看完整回答
反对 回复 2023-05-16
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信