对栅格进行平均时,有没有办法计算用于计算像素均值的每个像素的 n 个非 NaN 值?

When averaging rasters, is there a way to calculate the n number of non-NaN values per pixel used to calculate the pixel means?

我有大约 40 个光栅(tiff)。我对栅格进行了平均,这很简单。然而,作为第二个输出,我想确定用于计算每个像素平均值的每个像素的 n 非 NaN 值的数量,并将其显示为光栅。基本上,我需要知道每个像素使用了多少个值来计算平均值。这可能吗?我正在寻找 GIS(ArcGIS 或 QGIS 都可以)、Python 或 R. Cheers.

的解决方案

以下是使用 terra

对 R 执行此操作的方法
library(terra)
s <- rast(system.file("ex/logo.tif", package="terra"))   

m <- mean(s)
n <- sum(!is.na(s))

raster

library(raster)
b <- brick(system.file("external/rlogo.grd", package="raster"))
mb <- mean(b)
nb <- sum(!is.na(b))