Rumah > pembangunan bahagian belakang > Tutorial Python > Vektorisasi harvesine senarai vektor

Vektorisasi harvesine senarai vektor

PHPz
Lepaskan: 2024-02-06 08:03:06
ke hadapan
547 orang telah melayarinya

向量列表的 Harvesine 向量化

Kandungan soalan

Saya mempunyai coretan kod yang menggunakan fungsi semisin untuk mengira matriks jarak antara dua senarai koordinat. Walaupun pelaksanaan semasa berfungsi, ia melibatkan gelung bersarang dan boleh memakan masa yang sangat lama untuk set data yang besar. Saya sedang mencari alternatif yang lebih cekap yang mengelakkan penggunaan gelung for.

import numpy as np
from haversine import haversine
    
string_list_1 = [(20.00,-100.1),...]  # List of vector pair coordinates (lat,long)

string_list_2 = [(21.00,-101.1),...]  # Another list of pair coordinates

dist_mat = np.zeros((len(string_list_1), len(string_list_2)))

for i, coord1 in enumerate(string_list_1):
   dist_mat[i, :] = np.array([haversine(coord1, coord2) for coord2 in string_list_2])
Salin selepas log masuk

Saya ingin nasihat atau contoh kod untuk pelaksanaan yang lebih cekap dan lebih pantas mengelakkan penggunaan gelung for.


Jawapan betul


Gunakan haversine dalam sklearn. Petunjuk:

from sklearn.metrics.pairwise import haversine_distances
haversine_distances(string_list_1,string_list_2)
Salin selepas log masuk

Atas ialah kandungan terperinci Vektorisasi harvesine senarai vektor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan