python - 二维数组列表的逐像素中值 - numpy

标签 python numpy

我有一个 numpy 2D ndarray 列表,我正在尝试计算列表中所有 dem 的“逐像素”中值和某个百分位数。基本上这些都是光栅,我需要保持它们的尺寸。 例如:

A = [[1,1],[2,2]]
B = [[2,2],[3,3]]
C = [[3,3],[4,4]]

我想要:

my_median = [[2,2],[3,3]]

我可以在“C 风格”中使用 for 循环并最终使用 cythonnumba 来加速这个过程,因为我的数组非常大,但我很确定我在 numpy 中缺少一种简单有效的方法?

np.median(np.sum([A,B,C])) 只给我全局中位数或者如果我玩 axis 每行的中位数或上校。

提前致谢!

最佳答案

您可以使用 dstack按顺序深度堆叠数组并取 np.median沿着最后一个轴:

np.median(np.dstack([A,B,C]), -1)

array([[2., 2.],
       [3., 3.]])

关于python - 二维数组列表的逐像素中值 - numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55703585/

相关文章:

python - 在 python 守护进程中使用多处理模块时出错

python - pickle scipy 的 SuperLU 类用于不完全 LU 分解

python - 在 google app engine blobstore 下载器中启用 CORS

python - Numba 给出 : ' TypingError: %r not allowed in a homogenous sequence'

python - 元素与 numpy.array 和标量的组合

python - Pandas 中的间隔数据类型 - 查找中点、左侧、中心等

python - 如何将状态表映射到numpy中的生命表?

python - 在不使用 for 循环的情况下删除 numpy 数组的前导零

python - 加载和保存 numpy 矩阵

Python 应用程序行为异常,是否缓存了 URL 参数?