我有一个 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 循环并最终使用 cython
或 numba
来加速这个过程,因为我的数组非常大,但我很确定我在 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/