[duplicate] yayınlayarak iki uyuşmuş dizinin öklid mesafesinin nasıl hesaplanacağı
Aug 16 2020
İki uyuşuk dizinin öklid mesafesini hesaplamak istiyorum.
Dizideki her satır bir vektördür.
Örneğin
a = np.array([125, 20, 210, 55], [11, 97, 111, 71])
b = np.array([51, 19, 35, 65], [59, 80, 37, 60])
A'daki her satırın öklid mesafesini b'deki her satırla hesaplamam gerekiyor.
Dizinin gerçek boyutu 5000 satır ve 4000 sütun kadar büyük olabilir.
Bunu iki for-loop ve bir for-loop ile nasıl yapacağımı biliyorum. Vektörize edilmiş numpy dizisiyle çözmem gerekiyor. örneğin bir diziyi başka birine yayınlamak gibihttps://numpy.org/devdocs/user/theory.broadcasting.html
kullanmadan
spatial.distance.cdist
ama nasıl yapılacağını çözemiyorum.
Herhangi bir yardım memnuniyetle karşılanacaktır.
Yanıtlar
AagamSheth Aug 16 2020 at 13:03
import numpy as np
np.sqrt((np.square(a[:,np.newaxis] - b).sum(axis=2)))
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'