31

我有一个大小为 94 x 155 的 NumPy 数组:

a = [1  2  20  68  210  290..
     2  33 34  55  230  340..
     .. .. ... ... .... .....]

我想计算每一行的范围,以便得到 94 个范围。我尝试寻找一个numpy.range我认为不存在的功能。如果这可以通过循环来完成,那也很好。

我正在寻找类似的东西numpy.mean,如果我们将轴参数设置为 1,则返回 N 维数组中每一行的平均值。

4

2 回答 2

56

我想np.ptp可能会做你想做的事:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.ptp.html

r = np.ptp(a,axis=1)

r你的范围数组在哪里。

于 2012-10-03T03:56:35.530 回答
6

试试这个:

def range_of_vals(x, axis=0):
    return np.max(x, axis=axis) - np.min(x, axis=axis)
于 2012-10-03T03:58:59.233 回答