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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!