Python numpy数组计算

时间:2014-07-30 09:09:41

标签: python numpy iteration

我使用N,a = np.histogram(z,bins=50)的numpy直方图计算了直方图切片。现在,我的a包含50个z切片的值,N包含这些切片中的数量计数。

我想为R-r

计算a

我试过了

result = [R-r for R,r in zip(a[1:],a)]

但它似乎不起作用。我在这做错了什么?

1 个答案:

答案 0 :(得分:3)

您只需使用numpy.diff

>>> a = np.array([1,3,6,8,17,23,45])
>>> np.diff(a)
array([ 2,  3,  2,  9,  6, 22])

修改

你的代码工作正常,但是你不应该使用列表理解,因为NumPy已经为此提供了一个函数,因为它既快又有效。

>>> a = np.array([1,3,6,8,17,23,45])
>>> [R-r for R,r in zip(a[1:],a)]
[2, 3, 2, 9, 6, 22]