首頁  >  文章  >  後端開發  >  如何在 Python 中有效計算數百萬個資料點的半正矢距離?

如何在 Python 中有效計算數百萬個資料點的半正矢距離?

Linda Hamilton
Linda Hamilton原創
2024-11-03 00:25:02406瀏覽

How can I efficiently calculate Haversine distances for millions of data points in Python?

使用Numpy 向量化在Python/Pandas 中進行快速半正弦逼近

在處理涉及緯度和經度座標的數百萬個在數據點時,使用以下方法計算距離半正矢公式可能非常耗時。本文提供了Haversine函數的向量化Numpy實現,以顯著提高效能。

原始Haversine函數:

原始Haversine函數是用Python寫的:

向量化函數Numpy

向量化Numpy 實作利用了Numpy 最佳化的陣列運算:

效能比較:

效能比較:

效能比較:

向量立即處理數百萬個輸入點。例如,考慮隨機產生的值:

使用原始 Python 函數需要花費大量時間的計算會立即完成。 結論:使用 Numpy 對 Haversine 函數進行向量化可以顯著提高大型資料集的效能。 Numpy 優化的陣列運算可以有效處理多個資料點,減少計算開銷並加快距離計算。這種優化使得對大規模資料集執行即時地理空間分析成為可能。

以上是如何在 Python 中有效計算數百萬個資料點的半正矢距離?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn