2
我遇到了用熊貓的數據框做空間分析的問題。現在我有一個DataFrame> 1000行,列「用戶」,「緯度」,「經度」。用熊貓做空間分析的有效方式
在此基礎上的數據集,我想去做一些空間分析,如創建第四列,其總結了在100公里範圍內的所有用戶。
有沒有辦法有效地做到這一點?
現在我用兩個for循環和geopy計算距離的方式如下:
df_geo['Neighbors'] = 0
def getNeighbors():
for i in df_geo.index:
p1 = (df_geo.ix[i]['latitude'], df_geo.ix[i]['longitude'])
count = 0
for i2 in df_geo.index:
p2 = Point (df_geo.ix[i2]['latitude'], df_geo.ix[i2]['longitude'])
if geopy.distance.distance(p1, p2).km < 100 & i != i2:
count += 1
df_geo.Neighbors[i] = count
getNeighbors()
謝謝
安迪