python - 在csv文件Python中的位置列表中查找所有位置之间最近的位置
问题描述
我有一个 csv 文件中的位置列表(13000 个点),我想找到离它们最近的位置(在同一个文件中)。我发现 查找最近的纬度和经度中的答案 非常有帮助,但是当我尝试使用数据框而不是字典时,它会显示错误。
我的代码是:
from math import cos, asin, sqrt
import os
import pandas as pd
os.chdir('E:\My_Desktop\smart_capex')
sites=pd.read_csv('EXISTING.csv')
def distance(lat1, lon1, lat2, lon2):
p = 0.017453292519943295
a = 0.5 - cos((lat2-lat1)*p)/2 + cos(lat1*p)*cos(lat2*p) * (1-cos((lon2-lon1)*p)) / 2
return 12742 * asin(sqrt(a))
def closest(data, v):
return min(data, key=lambda x:
distance(v['LATITUDE'],v['LONGTITUDE'],x['LATITUDE'],x['LONGTITUDE']))
tempDataList = sites
v = sites
print(closest(tempDataList, v))
但它显示以下错误:
TypeError:字符串索引必须是整数
解决方案
推荐阅读
- firebase - 我想在颤振中创建一个聊天应用程序
- java - 签名发布后尝试调试时 Flutter android App 崩溃
- angular - 使用firebase身份验证登录时如何保存用户数据?
- autodesk-forge - Forge 创建活动发出错误请求
- flutter - Flutter:如何记住并突出显示选定的抽屉项目?
- go - Golang如何将整数类型转换为字节类型
- java - Does spring boot uses external server, or embedded server when deployed on external server as war?
- laravel - Laravel:Cookie::forget() 不会删除 cookie,而是将值设置为 null
- excel - 如何循环遍历单元格值列表并将一个值应用于 Excel 工作表文件中的每个工作表
- python - Scipy/Numpy:将 cmap 应用于实际数据