Wie kann Numpy die Haversine-Approximationsleistung in Pandas-Berechnungen verbessern?

Patricia Arquette
Freigeben: 2024-10-31 20:42:02
Original
752 Leute haben es durchsucht

How Can Numpy Enhance Haversine Approximation Performance in Pandas Calculations?

Schnelle Haversine-Approximation: Nutzung von Numpy für verbesserte Leistung bei Pandas-Berechnungen

Berechnung von Abständen zwischen Koordinatenpaaren in einem Pandas-DataFrame mithilfe der Haversine-Formel kann bei großen Datensätzen rechenintensiv sein. Wenn die Punkte jedoch relativ nahe beieinander liegen und die Genauigkeitsanforderungen gelockert werden, ist eine schnellere Annäherung möglich.

Beachten Sie den folgenden Codeausschnitt:

<code class="python">def haversine(lon1, lat1, lon2, lat2):
    ... # (haversine calculation)

for index, row in df.iterrows():
    df.loc[index, 'distance'] = haversine(row['a_longitude'], row['a_latitude'], row['b_longitude'], row['b_latitude'])</code>
Nach dem Login kopieren

Um die Leistung dieses Codes zu optimieren, haben wir kann die leistungsstarken Array-Operationen und Vektorisierungsfunktionen von Numpy nutzen. Dieser Ansatz macht Schleifen überflüssig und ermöglicht die effiziente Verarbeitung ganzer Arrays gleichzeitig.

Hier ist eine vektorisierte Implementierung mit Numpy:

<code class="python">import numpy as np

def haversine_np(lon1, lat1, lon2, lat2):
    ... # (haversine calculation)

inputs = map(np.radians, [lon1, lat1, lon2, lat2])
distance = haversine_np(*inputs)</code>
Nach dem Login kopieren

Um dies in einen Pandas DataFrame zu integrieren, können wir einfach verwenden Folgendes:

<code class="python">df['distance'] = haversine_np(df['lon1'], df['lat1'], df['lon2'], df['lat2'])</code>
Nach dem Login kopieren

Dieser vektorisierte Ansatz nutzt die optimierten Operationen von Numpy und eliminiert den zeitaufwändigen Schleifenprozess. Dadurch ist die Berechnung insbesondere bei großen Datensätzen deutlich schneller. Durch die Nutzung der Leistungsfähigkeit von Numpy können wir in Pandas schnellere und effizientere Haversinus-Approximationen erzielen.

Das obige ist der detaillierte Inhalt vonWie kann Numpy die Haversine-Approximationsleistung in Pandas-Berechnungen verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!