这是一个非常简单的问题:
我有一个94 x 155的numpy数组:
a = [1 2 20 68 210 290..
2 33 34 55 230 340..
.. .. ... .. ... .....]
我想计算每一行的范围。所以我在结果中获得了94个范围。我试着寻找numpy.range函数,我觉得不存在。如果这可以通过循环完成,那么它也很好。
例如:就像我们有numpy.mean()函数一样,如果我们将axis参数设置为1,那么它返回Nd数组中每一行的平均值。
答案 0 :(得分:35)
我认为np.ptp
可能会做你想做的事:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.ptp.html
r = np.ptp(a,axis=1)
其中r
是您的范围数组。
答案 1 :(得分:4)
试试这个:
def range(x, axis=0):
return np.max(x, axis=axis) - np.min(x, axis=axis)