当前位置:首页>科技>经纬数据怎么获取手把手教你完成一个数据科学小项目
发布时间:2026-07-21阅读(1)
请先阅读“中国年轻人正带领国家走向危机”,这锅背是不背? 一文,以对“手把手教你完成一个数据科学小项目”系列有个全局性的了解。
本系列代码统一开源在GitHub:DesertsX/gulius-projects ,感兴趣的朋友可以先行 star 哈。
https://github.com/DesertsX/gulius-projects
截至目前我们已经完成了数据爬取、数据提取与IP查询、数据异常与清洗、评论数变化情况分析、省份提取与可视化、城市提取与可视化,本文将调用百度地图 API 获取地理位置的经纬度,并使用 BDP 绘制动态热力图。

读取数据
之前系列文章和代码的最后末尾均可自行保存每次操作后的数据,比如新创建的那些列等等。
import pandas as pd
df = pd.read_csv(Sina_Finance_Comments_All_20180811_Cleaned.csv,encoding=utf-8)
df.head(2)
百度地图创建应用
本回使用百度地图开放平台的 API 获取经纬度数据,读者也可以试下用高德地图、谷歌地图等等实现。首先在百度地图开放平台(需登录操作)的“控制台”处点击“创建应用”;可以随意填写“应用名称”,比如:地图经纬度;在“IP白名单”处可按照提示填写 0.0.0.0/0,方便在不同的电脑上操作,然后点击“提交”即可创建成功。应用列表里生成了应用,而访问应用(AK)就是后面调用 API 时所需的参数。
获取经纬度
在Web服务API中找到所需的服务,本次是根据地理信息获取经纬度,于是正/逆地理编码,按照服务文档的说明,调用API。注意调用次数的限制。
正/逆地理编码 - 百度地图Web服务API
import requests
def area2coor(area):
ak = 换成你的ak # 应用列表里访问应用(AK)的一串字符
try:
# http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding
address = area
url = http://api.map.baidu.com/geocoder/v2/?address= address &output=json&ak= ak
json_data = requests.get(url = url).json()
coor_loc = json_data[result][location]
return coor_loc
except:
return "nocoor" # 不换ak多半都是 nocoor
print(df.loc[0,area])
area2coor(df.loc[0,area])
经纬度上面先测试下,能拿到经纬度后,创建经纬度列:
%%time
df[coor_loc] = df.area.apply(area2coor)
df.coor_loc
拆分经度纬度选出非nocoor的数据,再分别拿到经度和纬度,然后就可以导出数据,以便后面在BDP里操作。
df_coor = df[df[coor_loc] != nocoor]
df_coor[lng] = df_coor[coor_loc].apply(lambda x: x[lng]) # 经度
df_coor[lat] = df_coor[coor_loc].apply(lambda x: x[lat]) # 纬度
df_coor[[lng,lat]]
保存数据df_coor.to_csv(Sina_Finance_Comments_All_20180811_toBDP.csv, encoding=utf-8, line_terminator=\r\n)
动态热力图古柳以前也用过 BDP,所以这回拿到数据后,就想着间隔近一年的时间后重新绘制动态热力图,虽则早已生疏了,但以前机智的写过一篇“使用手册”:(送福利)BDP绘制微博转发动态热力图,于是按照文中步骤很快就重新捡回并制作出来了。

具体步骤就不截图演示了,更详细的步骤请参考上面给出的文章,内含爬取的微博转发数据集,可供把玩(用Gephi一则热门微博的14层转发网络图谱:《Gephi绘制微博转发图谱:以“@老婆孩子在天堂”为例》):


此处仅记录大致操作步骤如下:
更改设置参数,以便录制 GIF 时展示效果更佳:
可根据数据量、数据展示的效果、以及自身的要求自行修改。最后就拿到了文章评论的动态热力图,还是蛮酷的。

本系列代码统一开源在GitHub:DesertsX/gulius-projects ,感兴趣的朋友可以先行 star 哈。
https://github.com/DesertsX/gulius-projects
本系列文章:
“中国年轻人正带领国家走向危机”,这锅背是不背?
手把手教你完成一个数据科学小项目(1):数据爬取
手把手教你完成一个数据科学小项目(2):数据提取、IP 查询
手把手教你完成一个数据科学小项目(3):数据异常与清洗
手把手教你完成一个数据科学小项目(4):评论数变化情况
手把手教你完成一个数据科学小项目(5):省份提取与可视化
手把手教你完成一个数据科学小项目(6):城市提取与可视化
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图