次の操作をベクトル化するのには苦労しています。私はx、y、zの距離の配列を持っており、私は各ベクトルの間の違いを見つける必要があります。ナンシー2D配列行ごとの減算
temp_result = np.array([[0.8, 0., 1.], [0., -0.6, 1.],[0.8, 0., 1.]])
私がしようとしているのは、ループの繰り返しを使用せずに減算することです。
temp_result[0] - temp_result[0]
temp_result[0] - temp_result[1]
temp_result[0] - temp_result[2]
temp_result[1] - temp_result[0]
temp_result[1] - temp_result[1]
temp_result[1] - temp_result[2]
temp_result[2] - temp_result[0]
temp_result[2] - temp_result[1]
temp_result[2] - temp_result[2]
ありがとう!
より簡潔なバージョンです: 'diffs = arr [:, None] - arr [None、:]'。これは、numpyの放送機能の例です(http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html)。 –
私は既に放送を利用しています。あなたがそこで行ったことは暗黙のうちに 'newaxis'を使うことでした(これは素晴らしい解決策です)。私はそれを答えに追加します、ありがとう! – nneonneo
申し訳ありませんが、あなたが放送を使用していなかったことを意味するわけではありません!その声明は、その方法に関する一般的なコメントとして意味されていた。 –