编辑:

here’s a simple notebook example

一般方法,假设您有一个包含点的DataFrame列,并且您想要计算所有这些列之间的距离(例如,如果您有单独的列,则首先将它们组合成(lon,lat)元组).命名新列coords.

import pandas as pd

import numpy as np

from geopy.distance import vincenty

# assumes your DataFrame is named df, and its lon and lat columns are named lon and lat. Adjust as needed.

df['coords'] = zip(df.lat, df.lon)

# first, let's create a square DataFrame (think of it as a matrix if you like)

square = pd.DataFrame(

np.zeros(len(df) ** 2).reshape(len(df), len(df)),

index=df.index, columns=df.index)

此函数使用输入列名称从df DataFrame中查找“end”坐标,然后使用square.coords列作为第一个参数,将geopy vincenty()函数应用于输入列中的每一行.这是有效的,因为该功能是从右到左逐列应用的.

def get_distance(col):

end = df.ix[col.name]['coords']

return df['coords'].apply(vincenty, args=(end,), ellipsoid='WGS-84')

现在我们已准备好计算所有距离.

我们正在转置DataFrame(.T),因为我们将用于检索距离的loc []方法是指索引标签,行标签.但是,我们的内部应用函数(见上文)使用检索的值填充列

distances = square.apply(get_distance, axis=1).T

您的地理位置值(IIRC)以公里为单位返回,因此您可能需要将这些值转换为您想要使用的任何单位.meter,.miles等.

像下面这样的东西应该工作:

def units(input_instance):

return input_instance.meters

distances_meters = distances.applymap(units)

您现在可以使用例如索引到您的距离矩阵. loc [row_index,column_index].

你应该能够很容易地适应上述内容.您可能必须在get_distance函数中调整apply调用,以确保将正确的值传递给great_circle.大熊猫apply文档可能很有用,特别是关于使用args传递位置参数(你需要一个最近的pandas版本才能工作).

此代码尚未分析,并且可能有更快的方法,但400k距离计算应该相当快.

哦,还

我不记得geopy是否期望坐标为(lon,lat)或(lat,lon).我打赌这是后者(叹气).

python输入两个坐标求距离_计算python中*多组*地理坐标之间的距离相关推荐

  1. python输入数学表达式并求值_用Python3实现表达式求值

    一.题目描述 请用 python3编写一个计算器的控制台程序,支持加减乘除.乘方.括号.小数点,运算符优先级为括号>乘方>乘除>加减,同级别运算按照从左向右的顺序计算. 二.输入描述 ...

  2. python输入坐标求面积_利用python中的坐标计算多边形面积

    您没有正确实现Shoelace formula.我修改了一点你的代码来修复它:sum1=0.0 sum2=0.0 b=input("Number of corners: ") ma ...

  3. python输入两个数字的成语_一起来写个简单的解释器(2)

    上一篇文章中,我们一起实现了计算器的加法功能. 并且,在文末给大家留下了一些练习: 让解释器支持减法运算: 让解释器支持多位整数的运算,例如:12+36: 添加一个方法,让解释器能够处理用户所输入表达 ...

  4. python输入两个数字的成语_请用 Python 语言编写一个简易的猜数字游戏程序。

    import random answer = random.randint(1,10) print('猜数游戏 ') num=input('请输入你猜测的数字 n') guess=int(num) n ...

  5. python输入一个整数和一个字符_【python零基础入门】基础语法之变量、字符串、数字、规则。...

    本文使用版本python3.8.1,编辑器pycharm. 学习指导书<Python编程--从入门到实践> 1.万恶之首"Hello world" 输入: print( ...

  6. 正方形里面两个扇形相交部分_计算下图中阴影部分的面积,最简单的方法是用正方形的面积除以2...

    这是一道小升初数学题,是某师大附中2018年招生分班考试题.题目是计算下图阴影部分的面积,如下图所示: 小升初数学题 图形包含了正方形.扇形和三角形,但是所求阴影部分的面积却是两个不规则的图形.这两个 ...

  7. python坐标表示_已知经纬度坐标求两点间距离,用python表示

    已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...

  8. 已知经纬度坐标求两点间距离,用python表示

    已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...

  9. 从键盘输入两个数,求它们的和并输出

    PTA | 程序设计类实验辅助教学平台 正值暑假,最近在PTA上拿相关python题库练手,做的过程中有好多突如其来的灵感,想着如果不记录下来,就太可惜了 . 里面的python题库浙大版<Py ...

最新文章

  1. 决定局域网的主要技术要素
  2. macos访问linux分区,在linux中访问macos 下的分区。
  3. html5水调歌头代码,张惠言的五首《水调歌头》
  4. [OpenGL] opengl常见问题汇总
  5. 拓端tecdat|主题模型(LDA)案例:分析人民网留言板数据
  6. 3.7V转5V电路图芯片,3.7V升压5V的升压芯片
  7. 计算机视觉大佬--何凯明
  8. python 幂次方_python次方运算
  9. 微生物组数据系统发育分析的方法
  10. 图像元数据(Metadata) ——Exif信息分析
  11. 关于windows自带的两种远程访问方式
  12. 西门子bop20显示电流_SIEMENS/西门子BOP20基本操作员面板使用方法说明
  13. Java堆内存溢出造成OS卡顿/服务中断的一种情况
  14. JAVA泛型特例化_这个大学生,抢先go2实现了go的泛型
  15. Android 翻页效果 电子书 (转)
  16. 织梦dedecms会员中心投稿,管理员审核后,文档稿件动态浏览,禁止生成静态页
  17. C# WPF 获取系统文化和国家信息(CultureInfo)类
  18. 普罗米修斯 软件_普罗米修斯电子白板软件教程
  19. S5PV210 | 裸机汇编LED流水灯实验
  20. python msgpack_Python中msgpack库的使用

热门文章

  1. Python实现微信找茬小游戏自动进行
  2. 初中计算机学情分析,初中信息技术教材分析
  3. Vmware安装linux虚机,并打通宿主机与虚机间的网络访问
  4. raw什么意思微型计算机,硬盘分区变成raw格式
  5. 启动报错this is very likely to create a memory leak
  6. gps定位,根据经纬度;
  7. 持续集成环境(CI)搭建
  8. SafeNet呼吁采用KMIP,推出首款基于硬件的企业密钥管理平台
  9. 中学校园网计算机网络工程系统设计,中学校园网络系统设计方案.pdf
  10. 《11.uboot的移植-从三星官方uboot开始移植》