1
Python配列の後続のペアの2つの要素の間の差を簡単に計算する方法はありますか?たとえば、x
:numpy配列(numpy.diffではなく)の次のペアの要素の違い
x = np.array([1,5,3,8])
次のペアの違いをxから計算するにはどうすればよいですか?私の所望の出力は次のようになります。
np.array([4,5])
Python配列の後続のペアの2つの要素の間の差を簡単に計算する方法はありますか?たとえば、x
:numpy配列(numpy.diffではなく)の次のペアの要素の違い
x = np.array([1,5,3,8])
次のペアの違いをxから計算するにはどうすればよいですか?私の所望の出力は次のようになります。
np.array([4,5])
あなたは2の進歩にスライスし引くことができます。
>>> x[1::2] - x[::2]
array([4, 5])
別の解決策は、np.diff
を再形成して呼び出すことです:
>>> np.diff(x.reshape(-1, 2), axis=1).ravel()
array([4, 5])
一般化どんなN * M
配列でも動作するこのバージョンは、次のようになります -
r = np.diff(x.reshape(-1, 2), axis=1).reshape(-1, x.shape[1] // 2)
私のコメントを編集して読みやすくしてくれてありがとう。あなたの答えは解決策を提供するので、ありがとう!しかし、偶数行の任意の2次元配列にスケールするとうまくいきます。例えば、Mが偶数であるN行M列の配列の場合、これにしたいとします。たとえば、次のようになります。x = np.array([[1,5,3,8]、[1,2,3,4]]):array([[4,5]、[1,1]] ) – user7740248
@ user7740248あなたは尋ねているのですか? –
申し訳ありませんが私の応答を偶然に投稿しました私はちょうどフォローアップの質問のために編集 – user7740248