在上一篇中,我们计算了两点的距离(链接为上篇文章),但是具体业务中,往往会存在一次性计算多组,上百甚至上千的距离。

所以我们需要利用python函数,批量去处理和传参,批量计算距离。前面的操作去第一篇文章看,这里只介绍批量处理部分。

百度地图API单天是有限制的,这个可以在官网查看限制条数,如果是个人项目几千条左右的可以直接跑,更多可能需要购买商用API服务,或者改算大圆直线距离,在第一篇有讲。

第一步:思路整理

首先,我们需要定义一个函数,比如叫做calc_distance,它接受一行数据作为输入,然后从中提取出门店经纬度和订单经纬度,然后调用之前定义的getDistance函数,返回距离值。

然后,你需要用pandas.DataFrame.apply方法来对表格应用这个函数,指定axis=1表示按行操作,得到一个Series对象,它包含了每一行的距离值。

最后,我们需要把这个Series对象赋值给表格的新列,比如叫做distance。

第二步:代码实现

1.1路径设置并读取目标文件

order_path = r"E:\360MoveData\Users\B\Desktop/订单距离测算.xlsx"
df = pd.read_excel(order_path)

1.2定义函数算出距离,并赋值给新列

def calc_distance(row):
start = "{}".format(row["用户地址纬经度"])
end = "{}".format(row["门店纬经度"])
return getDistance(start, end) # 注意这里要传入两个参数
distance = df.apply(calc_distance, axis=1) # 注意这里要传入calc_distance函数,而不是getDistance函数
df["distance"]=distance

#Python实例 计算外卖配送距离(基于百度API接口)---第二篇的更多相关文章

  1. arcpy arcgis python实例教程--原点夹角距离定义线(坐标正算)

    arcpy arcgis python实例教程--原点夹角距离定义线(坐标正算) 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 此地理处理工具 ...

  2. Python人工智能-基于百度AI接口

    参考百度AI官网:http://ai.baidu.com/ 准备工作: 支持Python版本:2.7.+ ,3.+ 安装使用Python SDK有如下方式 >如果已经安装了pip,执行 pip ...

  3. 百度地图热力图--批量地址转换应用(基于百度api)

    需求:把外卖订餐地址做个用户分布热力图 思路分析:第一步去百度地图api开放平台找例子 http://lbsyun.baidu.com/jsdemo.htm#c1_15 首先从百度API的demo例子 ...

  4. 百度地图总结第二篇--POI检索功能

    简单介绍: 眼下百度地图SDK所集成的检索服务包含:POI检索.公交信息查询.线路规划.地理编码.行政区边界数据检索.在线建议查询.短串分享(包含POI搜索结果分享.驾车/公交/骑行/步行路线规划分享 ...

  5. 基于百度API+Flask实现网页版和图灵机器聊天

    开发前准备 调用百度和图灵机器人相关的 参考链接:www.cnblogs.com/changtao/p/10596385.html 下载一个网页录音的js插件 链接:https://pan.baidu ...

  6. IOS百度地图之--->第二篇《大头针__简单使用及自定义》

    呵呵!大家不要只看帖不回帖么,要不然我都没有积极性了. 第一步:创建一个用来呈现mapview的viewcontroller,不废话直接贴代码        BasicMapViewControlle ...

  7. 百度api接口_知识积累

    app_id, app_key, app_secret app_id 是用来标记你的开发者账号的, 是你的用户id, 这个id 在数据库添加检索, 方便快速查找 app_key 和 app_secre ...

  8. 基于网页api(接口)实现查快递

    之前在网上找到一款下载某慕课网站的java版软件,我想知道他是怎么实现:对于视频的下载的,毕竟网页源码中大都不会直接放视频的地址,但是没有公布源码,我就反编译,等到了部分“源码”,逻辑上还是有些问题, ...

  9. 基于Metaweblog API 接口一键发布到国内外主流博客平台

    之前的生活 之前一直使用evenote写博客和日志,其实还是挺方便的.但是我一直都希望能够同步到国内的博客和国外的blogspot等主流博客平台.而强大everote只提供了facebook.twit ...

  10. python3.4 百度API接口

    # -*- coding: utf-8 -*- import urllib.request, json url = 'http://apis.baidu.com/netpopo/illegaladdr ...

随机推荐

  1. Oracle查询优化经验

    1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. (低效,执行时间156 ...

  2. Java Client 调 FastDFS在Docker容器中Storage ip映射的问题

    首先在写这篇文章之前,百度了不少资料基本上都是 1.iptables 2.用--net=host主机网络 3.替换java fast-client.jar自己做mapping映射. 方法一:iptab ...

  3. Anaconda与conda、pip与conda的区别 - 搬运

    Anaconda与conda.pip与conda的区别 风影忍着   转自:https://zhuanlan.zhihu.com/p/379321816     作为一个Python初学者,在请教资深 ...

  4. GitHub远程仓库与本地仓库链接问题

    git clone ...时,Failed to connect to 127.0.0.1 port 1080: Connection refused 步骤1------git查看: 查询动态代理 g ...

  5. 删除Mac版word上方的Mathtype

    原因 Mac升级到macOS Catalina v10.15.3发现mathtype用不了, Mathtype官网说目前暂时不支持这个版本的系统. 现在尴尬的是, mathtype删除了, 但一不小心 ...

  6. svn提交规范

    本文档参考了Git提交规范,旨在规范使用SVN进行代码版本管理时的提交操作. 提交前的准备 1. 检查代码 在提交代码前,请先进行必要的代码检查,确保代码的正确性.可读性和可维护性.可以使用代码质量管 ...

  7. Qt 学习笔记 - 第五章 - Qt 时间编程 - Qt 时钟

    原文地址:Qt 学习笔记 - 第五章 - Qt 时间编程 - Qt 时钟 Qt 学习笔记全系列传送门: Qt 学习笔记 - 第一章 - 快速开始.信号与槽 Qt 学习笔记 - 第二章 - 添加图片.布 ...

  8. SpringBoot工程入门case

    SpringBoot的设计目的是用来简化Spring应用的初始搭建以及开发过程. SpringBoot入门案例: 1.创建一个新module 2.除pom和src文件剩余都删除. 3.在src.com ...

  9. java多线程--6 死锁问题 锁Lock

    java多线程--6 死锁问题 锁Lock 死锁问题 多个线程互相抱着对方需要的资源,然后形成僵持 死锁状态 package com.ssl.demo05; public class DeadLock ...

  10. Linux下学习FPGA

    声明(叠甲):鄙人水平有限,本文章仅供参考. 1.环境 推荐使用 Ubuntu20.04这是我使用多个版本中最好用的一个,相关安装教程可以自行上网搜索这不再赘述,但要补充的一点的是源推荐使用中科大的源 ...