40 개 * 4 행렬 M
및 40 개 요소가있는 A
벡터가 있습니다. A
과 M의 각 열 벡터 사이의 코사인 거리를 계산하고 싶습니다.Scipy/numpy 행렬의 모든 열에 함수를 매핑하십시오.
정말 이렇게 작성해야합니까?
print [cosine(M[:,i],A) for i in range(A.shape[1])]
아니면 더 좋은 방법이 있습니까?
는 코사인의 문서는 여기에서 볼 수 있습니다 : http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.cosine.html#scipy.spatial.distance.cosine
감사합니다!
의 열이 바인딩 기능을 적용 할
A
에cosine
의 두 번째 인수를 바인딩functools.partial
를 사용하고map
을 사용하는 것입니다 및 A. 모양 출력. (40,4), (40,1)에 대한 코드는 4x1 대신 1x1 목록을 제공합니다. 다른 변종에 대해서 - 정렬과의 오류. 더 빨리, 더 아름답게 또는 다른 것을 의미합니까? – adray