我有一个大的2D array
,我想做sigma clipping
,然后计算其中一个轴上的中值。在
有没有办法一步到位?
做sigma裁剪然后计算每列的中值是我唯一能做的方法吗?sigma裁剪将改变数组的长度)。我的数组非常大,这似乎有点低效(我使用的典型数组将有shape = (29000, 2000)
)。
示例
x= random.random(9000).reshape(1000, 9)
v= []
for i in range(x.shape[0]):
y= sigmaclip(x[i], 1.5, 1.5)
m= median(y[0])
v.append(m)
我猜你在用this scipy function?
sigmaclip
函数本身是迭代的,但是for
循环可能是最慢的(尤其是当您沿着最长的轴迭代时)。您可以使用数组操作更快(尽管可能不简单),可能是这样的:相关问题 更多 >
编程相关推荐