有沒有簡單的方法來獲取numpy數組的連續元素的比率?獲取元素的連續比例python
基本上類似於numpy.diff(x)的東西?
所以如果x = [1,2,10,100 ...]
我想[0.5,0.2,0.1 ...] 即[X1/X2,X2/X3,X3/X4]
我知道我可以通過轉移和劃分很容易地做到這一點,但比起numpy.diff似乎笨拙(X)
有沒有簡單的方法來獲取numpy數組的連續元素的比率?獲取元素的連續比例python
基本上類似於numpy.diff(x)的東西?
所以如果x = [1,2,10,100 ...]
我想[0.5,0.2,0.1 ...] 即[X1/X2,X2/X3,X3/X4]
我知道我可以通過轉移和劃分很容易地做到這一點,但比起numpy.diff似乎笨拙(X)
使用numpy的:
In [6]: x
Out[6]: array([ 1., 2., 10., 100., 150., 75.])
In [7]: x[:-1]/x[1:]
Out[7]: array([ 0.5 , 0.2 , 0.1 , 0.66666667, 2. ])
當你說「我可以輕鬆地通過移動和劃分來做到這一點」時,這可能就是你的意思,但我沒有看到任何笨拙的事情。
事實上,你的語法x [: - 1]/x [1:]沒有什麼笨拙的!十分優雅。 – shev72
xs = [1, 2, 10, 100, ...]
[x1/x2 for (x1, x2) in zip(xs, xs[1:])]
你不會得到比分而分的東西更好的東西。 – user2357112