我在使用 Panda 的 DataFrame 进行空间分析时遇到问题。现在我有一个 > 1000 行和列“用户”、“纬度”、“经度”的 DataFrame。
基于这个数据集,我想做一些空间分析,例如创建第四列,总结 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()
谢谢
安迪