2017-12-12 6 views

答えて

2

あなたは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) 
+0

私のコメントを編集して読みやすくしてくれてありがとう。あなたの答えは解決策を提供するので、ありがとう!しかし、偶数行の任意の2次元配列にスケールするとうまくいきます。例えば、Mが偶数であるN行M列の配列の場合、これにしたいとします。たとえば、次のようになります。x = np.array([[1,5,3,8]、[1,2,3,4]]):array([[4,5]、[1,1]] ) – user7740248

+0

@ user7740248あなたは尋ねているのですか? –

+0

申し訳ありませんが私の応答を偶然に投稿しました私はちょうどフォローアップの質問のために編集 – user7740248

関連する問題