查看原文
其他

爬虫君为你的数据自由操碎了心!cnborder重磅推出!

爬虫俱乐部 Stata and Python数据分析 2023-02-21

本文作者:刘光中,河南大学经济学院

本文编辑:赵微微

技术总编:李婷婷


Stata and Python 数据分析

     由李春涛教授团队成员司海涛薛原编写的《Stata正则表达式及其在财务数据中的应用》终于和大家见面啦!爬虫俱乐部特此为大家准备了100本,即日起购买爬虫俱乐部课程,可赠送本书一本,先到先得!


购书链接:


爬虫俱乐部Stata基础课程Stata进阶课程Python课程可在小鹅通平台查看,欢迎大家多多支持订阅!如需了解详情,可以通过课程链接(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或课程二维码进行访问哦~
引言

最近,爬虫俱乐部又开发了一个新的命令--cnborder,此命令由李春涛教授、河南大学经济学院硕士研究生刘光中、巴基斯坦ue university of education教师Muhammad Usman博士共同编写而成。cnborder可以判断中文地址是否处于省、市、县的边界处。在使用时,可以设置你所需要检测的范围半径(默认半径为20km)。在输出的结果中,0代表没有处于边界上,1代表处在边界上。

在Stata中输入:net install cnborder,from("https://stata-command.oss-cn-hangzhou.aliyuncs.com/cnborder/")就可以安装这个命令。对于这个新命令,大家还是陌生的,那么就一起来了解一下cnborder的原理和使用方法吧。

一、工作原理
cnborder首先调用cnaddress(也是爬虫俱乐部开发的命令)判断出所给地址的经纬度和所在的省市县,然后再计算出这个中心点正东、正西、正南、正北、东南、东北、西南、西北八个方位的经纬度(默认半径为20km,也可以自行修改半径)。八个方位如下图所示:
通过这八个点的经纬度,再次调用cnaddress,找到这八个点对应的省市县,然后和中心点的省市县进行比较。以省为例:如果这八个点对应的省名称至少有一个和中心点的省名称不同,则说明中心点处于省界处,输出结果province_border为1,如果这八个方位的省名称全部和中心点的省名称相同,则说明该中心点没有位于省界处,输出结果province_border为0。判断市边界和县边界同理。
二、cnborder使用语法
cnborder,baidukey(string) address(string) [RADius(int) province_border(newvar) city_border(newvar) county_border(newvar)]

注:在使用cnborder命令时,确保Stata已经安装cngcode命令和cnaddress命令(可通过net install cngcode,from("https://stata-command.oss-cn-hangzhou.aliyuncs.com/cngcode/")来安装)

  • baidukey():是在百度地图开放平台申请的访问密钥,用于获取百度地图数据的访问权限。

  • address():用于指定需要判断位置的中文详细地址。

  • radius(int):用于指定判断半径,默认值为20km。

  • province_border(newvar):指定省边界的变量名称。

  • city_border(newvar):指定市边界的变量名称。

  • county_border(newvar):指定县边界的变量名称。


三、案例
现在,我们有一组企业地址数据
clear allinput str80 company_address"广东省深圳市盐田区大梅沙环梅路33号万科中心""广东省广州市荔湾区沙面北街45号""吉林省珲春市口岸大路715号""河南省漯河市双汇路1号双汇大厦""山东省济南市历城区经十路2503号""四川省宜宾市翠屏区岷江西路150号""云南省瑞丽市边城街85号""黑龙江省漠河市北极村旅游风景区"end

情形1:
  在使用cnborder判断上述企业地址是否处于边界处时,如果我们全部采用命令的默认检测半径和变量名称,只需要:

local bdk your-secret-keycnborder,baidukey(`bdk') address(company_address)

运行结果如下:

情形2:
  当我们想自由设置检测半径时,比如自定义半径为5km,只需要:

local bdk your-secret-keycnborder,baidukey(`bdk') address(company_address) radius(5)
运行结果如下:

情形3:
  当我们想改变输出结果的变量名称时,比如想把省边界的判断变量名设置为border1,市边界的判断变量名设置为border2,县边界的判断变量名设置为border3,自定义半径为10km,只需要:

local bdk your-secret-keycnborder,baidukey(`bdk') address(company_address) province_border(border1) city_border(border2) county_border(border3) radius(10)

 运行结果如下:

通过上述的简单介绍,相信你已经对cnborder这个命令的使用方法已经了解,如果你想判断中文地址是否处于省市县的边界上时,就可以用cnborder来进行判断了。
  鉴于百度开发者平台近期调整了政策,如果你有十万个地址需要判断,则因为我们的算法,导致实际上需要判断80万个地址的行政区划,普通的Baidukey可能难以实现,你会遇到莫名其妙的报错,此时不用紧张,很可能不是你错了,你需要一次少量分批进行,或者我们欢迎大家把类似的工作外包给我们的团队,我们会提供又好又快的服务,当然,收费也比较少!开发命令不易,请支持我们的团队!

(END)重磅福利!为了更好地服务各位同学的研究,爬虫俱乐部将在小鹅通平台上持续提供金融研究所需要的各类指标,包括上市公司十大股东、股价崩盘、投资效率、融资约束、企业避税、分析师跟踪、净资产收益率、资产回报率、国际四大审计、托宾Q值、第一大股东持股比例、账面市值比、沪深A股上市公司研究常用控制变量等一系列深加工数据,基于各交易所信息披露的数据利用Stata在实现数据实时更新的同时还将不断上线更多的数据指标。我们以最前沿的数据处理技术、最好的服务质量、最大的诚意望能助力大家的研究工作!相关数据链接,请大家访问:(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或扫描二维码:

最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。




对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!



往期推文推荐      基于Python的假设检验实现      Stata与MySQL交互--基础操作           Jupyter Notebook中的魔术命令     《Stata正则表达式》由中国金融出版社出版发行          匿名函数lambda到底怎么用?

Stata绘图系列—NBER Working paper仿图

       Camelot:从PDF中提取表格数据      Stata之计算财务指标——融资约束

      列表生成式|让你的代码更简洁

Stata绘图系列——玩转绘图通用选项之坐标轴

       玩转地图的好帮手--pyecharts

       爬虫俱乐部又又又输送了一位研究助理!!!      【数据分析】一文教你玩转DataFrame

 震惊,爬虫俱乐部竟是这样运营答疑群的?!

【数据分析-入门】一看就会!Numpy的创建、索引、切片与更新

带你玩转Stata编码一言不合就teamviewer

【基础篇】循环语句的continue与break

        教你用Stata爬取全国疫情风险地区数据,原来这么简单!【数据结构】集合的使用方法           关于我们 

   微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

   武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里
为作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可

以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存