Python含有nan值的矩阵平均问题

将1km的S1_SD重采样到3.125km时,先把1km重采样到了0.125km,再将0.125km大小的像元25×25平均到3.125

此时需要进行平均25×25的S1_SD数据中可能会含有nan值

错误:若直接用np.average,只要矩阵中有nan值,则平均值也为nan值

改正

(1)方法一:将np.average改为np.nanmean

(2)方法二:用idx筛选出不是nan的值,再用np.average进行平均

测试代码

import numpy as np

A = [[1, 0, np.NAN],
[np.NAN, 6, 7],
[6, np.NAN, 9]]
B = np.array(A)
idx = (~np.isnan(B))
C = np.average(B[idx])
D = np.nanmean(B)
posted @ 2022-04-11 21:39  揪你小辫子  阅读(581)  评论(0编辑  收藏  举报