千家信息网

怎么用Python和用户实际地理位置做任意区域人员流量图

发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,本篇内容主要讲解"怎么用Python和用户实际地理位置做任意区域人员流量图",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用Python和用户实际地理位
千家信息网最后更新 2025年02月19日怎么用Python和用户实际地理位置做任意区域人员流量图

本篇内容主要讲解"怎么用Python和用户实际地理位置做任意区域人员流量图",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用Python和用户实际地理位置做任意区域人员流量图"吧!

一、首先是数据获取数据获取

腾讯其实开放了数据接口,但是只能商用:

经过分析发现,每次请求都会发送4个post请求,每次请求的参数如下:

rank值从1变化到4,咱也不知道是啥意思,索性就都爬了,大不了再去重

返回数据如下:

主要是locs字段,以第一组数据为例,3295代表纬度信息,11590代表经度信息,分别除100既是经纬度原始值,6代表该位置人数。

下面我们开始写写代码获取数据:

import requestsimport jsonheader={    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0'}url = 'https://xingyun.map.qq.com/api/getXingyunPoints'for i in range(1,5):    payload = {'count': i, 'rank': 0}    response = requests.post(url, data=json.dumps(payload))    datas=json.loads(response.text)['locs']    datas=datas.split(',')    datas=[int(i) for i in datas[:-1]]    all_data=[]    a=[]    for n,data in enumerate(datas):        a.append(data)        all_data.append(a)        if (n+1)%3==0:            a=[]all_data=[[i[0]/100,i[1]/100,i[2]] for i in all_data]

将数据转换为DataFrame格式:

import pandas as pdlat=[float(i[0]) for i in all_data]long=[i[1] for i in all_data]weight=[i[2] for i in all_data]dataframe=pd.DataFrame({'纬度':lat,'经度':long,'人数':weight})

对数据进行去重:

dataframe=dataframe.drop_duplicates(keep='first')

有了这些坐标信息,我们可以估算一个区域的人流量

pandas小知识:

DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)

subset用来指定特定的列,默认所有列;
keep="first"表示删除重复项并保留第一次出现的项,此外,keep值还可以为'last':表示保留最后一次出现的值;'false':表示所有相同的数据都删除

选定区域:

data1=dataframe[(dataframe.纬度.between(39.26,41.03)) & (dataframe.经度.between(115.25,117.30))]

二、用folium画热力图:

import foliumfrom folium.plugins import HeatMapmap_data = data1[['纬度', '经度', '人数']].values.tolist()hmap = folium.Map(    location=[data1['纬度'].mean(), data1['经度'].mean()],  #地图中心坐标    control_scale=True,     zoom_start=13    #地图显示级别)hmap.add_child(HeatMap(map_data, radius=5, gradient={.1: 'blue',.3: 'lime', .5: 'yellow',.7:'red'}))

到此,相信大家对"怎么用Python和用户实际地理位置做任意区域人员流量图"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

数据 区域 纬度 经度 位置 实际 人员 地理 地理位置 流量 用户 人数 代表 信息 内容 地图 坐标 学习 原始 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 延庆区智能软件开发服务咨询报价 闵行区通讯网络技术五星服务 还有网络安全的手抄报 服务器维修图片 湖北软件开发大概要多少钱 网络安全法保护隐私怎么做 国家网络安全示范城市 二级联动筛选数据库 网络安全龙头企业飞利信 文体局网络安全工作总结 濮阳软件开发平均价格 8.3哪个服务器比较平衡 社保认证提示服务器IP链接失败 网络安全发生的风险增大时 人民警察招录网络安全专业测试 计算机网络技术 专业特色 计算机网络技术个人简历 亚当模块数据库和电脑怎么连 怎么跨数据库备份 东港警方网络安全宣传 一体化和网络技术哪个好 燃烧军团服务器好不好 宝塔安装oracle数据库 计算机三级数据库技术零基础 安卓软件开发的3大步骤 数据库语句实现 档案信息化数据库 软件开发办公电脑 储能软件开发需要什么知识 网址服务器崩溃有补偿吗
0