x、y座標の2次元配列を、以前の座標の各座標の距離のフラットな配列に変換するnumpy関数があります。Numpy - numpy関数をジェネレータに変換する
arr = np.asarray(input).astype(int)
np.hstack((arr[0], (arr[:-1,:] - arr[1:,:]).ravel()))
input = [[-8081441,5685214], [-8081446,5685216], [-8081442,5685219], [-8081440,5685211], [-8081441,5685214]]
output = [-8081441, 5685214, 5, -2, -4, -3, -2, 8, 1, -3]
おかげで(Numpy - transform 2D array of x,y coordinates into flat array of distance between coordinatesを参照)、私は差別を複製するためにスライスして、私は
arr = np.asarray(input).astype(int)
np.hstack((arr[0], (-np.diff(arr, axis=0)).ravel()))
欲しいものを別のアプローチを行っている2つのnumpyの機能を持っています私の質問は、これらのnumpy関数の1つをジェネレータに変換してパフォーマンスを向上させる方法ですか?ジェネレータでnumpyを使用することは可能ですか?
まず、時期尚早の最適化には注意してください、あなたは何をしたいん機能を持っています。第二に、発電機は本当にここであなたを助けていない。 Numpyの関数は、ベクトル表現から多くの速度を得ています。ベクトル化は、密な表現を必要とし、本質的に配列のすべての要素を同時に実行します。 – Erotemic