第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用 GeoPy 計(jì)算熊貓數(shù)據(jù)幀上的緯度/經(jīng)度距離

使用 GeoPy 計(jì)算熊貓數(shù)據(jù)幀上的緯度/經(jīng)度距離

Cats萌萌 2023-04-25 16:02:27
我正在嘗試使用 Pandas Dataframe 上的 geopy 計(jì)算緯度和經(jīng)度之間的距離。這是我的數(shù)據(jù)框:    latitude    longitude   altitude    -15.836310  -48.020298  1137.199951    -15.836360  -48.020512  1136.400024    -15.836415  -48.020582  1136.400024    -15.836439  -48.020610  1136.400024    -15.836488  -48.020628  1136.599976我嘗試了兩種不同的方式:from geopy import distancefor i in range(1, len(df)):   before = (df.loc[i-1, 'latitude'], df.loc[i-1, 'longitude'])   actual = (df.loc[i, 'latitude'], df.loc[i, 'longitude'])   df.loc[i, 'geodesic'] = distance.distance(before, actual).miles錯(cuò)誤: KeyError: 0顯然,df.loc[i, 'column_name']不起作用。和:from geopy import distancedf['geodesic'] = distance.distance((df.latitude.shift(1), df.longitude.shift(1)), (df.latitude, df.longitude)).miles錯(cuò)誤:ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().GeoPy 官方文檔:from geopy import distancenewport_ri = (41.49008, -71.312796)cleveland_oh = (41.499498, -81.695391)print(distance.distance(newport_ri, cleveland_oh).miles)
查看完整描述

2 回答

?
明月笑刀無情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊

我得到了錯(cuò)誤。

1 - 我必須檢查 iflatitudelongitudeis NaN

2 - 我無法設(shè)置time為索引。(我不知道為什么,這花了很長(zhǎng)時(shí)間才發(fā)現(xiàn))

一旦檢查了這個(gè),錯(cuò)誤就消失了。


查看完整回答
反對(duì) 回復(fù) 2023-04-25
?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊

raw = """latitude;longitude;altitude

-15.836310;-48.020298;1137.199951

-15.836360;-48.020512;1136.400024

-15.836415;-48.020582;1136.400024

-15.836439;-48.020610;1136.400024

-15.836488;-48.020628;1136.599976"""


import pandas as pd

from io import StringIO

from geopy import distance


data = StringIO(raw)

df = pd.read_csv(data, sep=";")

df1 = df.drop(['altitude'], axis=1)

locations = df1.apply(tuple, axis=1)


for counter in range(len(locations) - 1):

    print(distance.distance(locations[counter], locations[counter + 1]).miles)

因?yàn)閐f = pd.read_csv(data, sep=";")它和你的代碼一樣,所以我讓它可以測(cè)試。


之后,df1 = df.drop(['altitude'], axis=1)刪除此應(yīng)用程序不需要的表 z 軸。


將 df1 轉(zhuǎn)換為元組,并循環(huán)遍歷位置,你得到了你的距離


查看完整回答
反對(duì) 回復(fù) 2023-04-25
  • 2 回答
  • 0 關(guān)注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)