Python 高效二维numpy数组统计

Python 高效二维numpy数组统计,python,numpy,statistics,Python,Numpy,Statistics,我有很多100x100网格,是否有一种有效的方法使用numpy计算每个网格点的中值,并返回一个带有中值的100x100网格?目前,我正在使用for循环遍历每个网格点,计算中间值,然后在最后将它们合并到一个网格中。我相信有一种更好的方法可以使用numpy来实现这一点。任何帮助都将不胜感激!谢谢 创建为100x100xN阵列(如果不可能,则堆叠在一起),并使用具有正确轴的np.median一次性完成: import numpy as np a = np.random.rand(100,100) b

我有很多100x100网格,是否有一种有效的方法使用numpy计算每个网格点的中值,并返回一个带有中值的100x100网格?目前,我正在使用for循环遍历每个网格点,计算中间值,然后在最后将它们合并到一个网格中。我相信有一种更好的方法可以使用numpy来实现这一点。任何帮助都将不胜感激!谢谢

创建为100x100xN阵列(如果不可能,则堆叠在一起),并使用具有正确轴的
np.median
一次性完成:

import numpy as np
a = np.random.rand(100,100)
b = np.random.rand(100,100)
c = np.random.rand(100,100)
d = np.dstack((a,b,c))
result = np.median(d,axis=2)
创建为100x100xN阵列(如果不可能,则堆叠在一起),并使用具有正确轴的
np.median
一次性完成:

import numpy as np
a = np.random.rand(100,100)
b = np.random.rand(100,100)
c = np.random.rand(100,100)
d = np.dstack((a,b,c))
result = np.median(d,axis=2)

有多少网格


一个选项是创建一个100x100xnumGrids的三维数组,并计算整个三维的中值

有多少网格


一个选项是创建一个100x100xnumGrids的三维数组,并计算整个三维的中值

使用中间带的轴参数:

import numpy as np

data = np.random.rand(100, 5, 5)

print np.median(data, axis=0)

print np.median(data[:, 0, 0])
print np.median(data[:, 1, 0])

使用中间带的轴参数:

import numpy as np

data = np.random.rand(100, 5, 5)

print np.median(data, axis=0)

print np.median(data[:, 0, 0])
print np.median(data[:, 1, 0])

谢谢E先生!这很有道理,我不知道dstack函数,但我喜欢它!!你知道numpy是否同样支持获取第75百分位的函数吗?如果没有,没关系,你已经帮了很多忙了!!只需执行np.sort(d,axis=2)并获取您想要的切片。谢谢E先生!这很有道理,我不知道dstack函数,但我喜欢它!!你知道numpy是否同样支持获取第75百分位的函数吗?如果没有,没关系,你已经帮了很多忙了!!只需执行np.sort(d,axis=2)并获取所需的切片。