다음 작업을 벡터화하는 데 어려움을 겪고 있습니다. 나는 x, y, z 거리의 배열을 가지고 있고 나는 각 벡터의 차이점을 서로 찾아야한다.Numpy 2D array 행 단위로 뺄셈
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
죄송합니다. 방송을 사용하지 않았다는 의미는 아닙니다. 그 진술은 그 방법에 대한 일반적인 논평을 의미했다. –