我有一個numpy函數,它將x,y座標的二維數組轉換爲前一個之間每個座標距離的平面數組。 (見Numpy - transform 2D array of x,y coordinates into flat array of distance between coordinates)Numpy - 將一個numpy函數轉換爲發生器
input = [[-8081441,5685214], [-8081446,5685216], [-8081442,5685219], [-8081440,5685211], [-8081441,5685214]]
output = [-8081441, 5685214, 5, -2, -4, -3, -2, 8, 1, -3]
感謝Divakar's answer,我有一個做我想
arr = np.asarray(input).astype(int)
np.hstack((arr[0], (-np.diff(arr, axis=0)).ravel()))
與切片的另一種方法來複制分化2個numpy的功能 -
arr = np.asarray(input).astype(int)
np.hstack((arr[0], (arr[:-1,:] - arr[1:,:]).ravel()))
我的問題是,是否有辦法將這些numpy函數之一轉換爲生成器以提高性能?是否可以在生成器中使用numpy?
首先,謹防過早優化的,你有你想要做什麼的功能。其次,發電機真的不會在這裏幫助你。 Numpy函數從矢量化中獲得了它們的大部分速度,這需要密集的表示,並且基本上對數組中的所有元素進行操作。 – Erotemic