国庆长假已结束,Python 告诉你 6 亿国人都去哪儿浪了

r型聚类分析怎么做_聚类分析原理及R语言实现过程 聚类分析定义与作用:是把分类对象按照一定规则分成若干类,这些类不是事先设定的,而是根据数据的特征确定的。在同一类中这些对象在某种意义上趋向于彼此相似,而在不同类中对象趋向于彼此不相似。在经济、管理、地质勘探、天气预报、生物分类、考古学、医学、心理学以及制定国家标准和区域标准等许多方面应用十分广泛,是国内外较为流行的多变量统计分析方法之一,在机器学习中扮演重要角色。聚类分析的类型是实际问题中,如根据... 阅读详情

2020 注定是不平凡的一年,一开年就被新冠疫情来了当头一棒,一瞬间大家都不约而同的采取家里蹲策略,在政府的得力领导下,全部人民上下一条心,到了四五月份终于将疫情稳定控制住了,时隔半年,国内疫情早已趋于稳定,人们的生活也基本恢复正常。

恰逢国庆中秋两个节日重合,在家憋这么久的人们怎么能不出去看看祖国的大好河山。据新华网消息,整个国庆长假外出游玩人次达 6.37 亿人次,那么这么多人都到哪儿去玩了呢,今天我们就用 Python 做一个全国热门景区热点图。

整体思路

我们的思路是,在中国地图上标注出热门景点,通过该热点图我们可以一眼看出哪些城市和地区最热门,也就意味着那个地区人是最多的。

那么我们就必须获先取到全国的旅游数据,最简单的思路就是从第三方旅游网站看下哪些景点的门票卖的最多最好,而最常用的网站就是飞猪、携程、去哪儿等。

有了数据来源之后就要想办法将网站的数据通过爬虫的方式爬取下来,之后在对爬取到的数据做清洗、过滤、整理。最后就将格式匹配的数据直接在地图上展示出来即可。

网站获取

经过对比几个第三方旅游网站,发现去哪儿网有一个「热门景点」的内页,在首页输入框直接输入「热门景点」即可直达该页面。该网站还将这些热门景点进行了分类,比如人文景观,城市风貌,古建筑等。同时我们需要的景点名称,城市,景区级别以及景区地址等信息都可以从该页面获取的到。

打开去哪儿网,首页输入「热门景点」仔细观察页面最上方的 URL 你会发现惊喜。其中 subject 就是景点主题,而 page 看样子则是页码,点击下一页验证一下,page 变成 2 了,没猜错。

不需要太多的数据,因此我们在每一个主题下面只取前十页的数据就可以了。

分析完 URL 之后,再来看看数据从什么地方获取的,切换到浏览器开发者模式,浏览下我们发现所有的景点数据都在一个叫做 ”search-list“ 的 div 中。针对单个景点,其数据是在一个 class = ‘sight_item’ 的 div 中。接下来就是解析页面原属,将景点,省市,时间,热度等数据做分析。

数据获取

数据源头已经分析完毕,接下来就可以开始我们的爬虫编码了,首先定义好我们的准备获取全国景点的主题。为了方便后续操作,我们可以将解析好的数据保存到 csv 文件中。

subjects = ['文化古迹', '自然风光', '农家度假', '游乐场', '展馆', '古建筑', '城市观光']

excel_file = open('data.csv', 'w', encoding='utf-8', newline='')
writer = csv.writer(excel_file)
writer.writerow(['名称', '城市', '类型', '级别', '热度', '地址'])

其次我们需要一个下载网页内容的函数,该函数接受一个 URL 参数,之后返回该 URL 对应的网页内容,同时为了更真实的模拟浏览器请求,需要添加 Headers。

headers = {
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
    'referer': 'https://piao.qunar.com/',
    'cookie': 'xxxyyyzzz...'
}

def get_page_html(url):
    try:
        response = requests.get(url, headers=headers)
        if response.status_code == 200:
            return response.text
        return None
    except RequestException:
        return None

获取到内容之后,我们还需要一个解析函数,该函数接收一个网页文本,然后将我们所需要的「名称, 城市, 类型, 级别, 热度, 地址」信息解析出来,并写入 csv 文件。

def parse_content(content, subject):
    if not content:
        return;
    soup = BeautifulSoup(content, "html.parser")
    search_list = soup.find(id='search-list')
    items = search_list.find_all('div', class_="sight_item")
    for item in items:
        name = item['data-sight-name']
        districts = item['data-districts']
        address = item['data-address']
        level = item.find('span', class_='level')
        level = level.text if level else ''
        star = item.find('span', class_='product_star_level')
        star = star.text if star else ''
        writer.writerow([name, districts, subject, level, star, address])

至此我们已经准备好,下载函数,解析函数,现在只需要直接遍历主题,拼接 URL 调用相关函数即可。为了防止被禁封 IP,每次请求之后让程序暂停 5 秒。

def get_data():
    for subject in subjects:
        for page in range(10):
            page = page + 1
            url = F'https://piao.qunar.com/ticket/list.htm?keyword=热门景点&region=&from=mps_search_suggest&subject={subject}&page={page}&sku='
            print(url)
            content = get_page_html(url)
            parse_content(content, subject, url)
            time.sleep(5)

if __name__ == '__main__':
    get_data()

最后执行 main 入口函数来运行程序,来看看我们搜集到的数据。

结果展示

获取到全国的旅游数据之后,就可以开始分析了。为了让操作方便,引入 pandas ,先仔细看下我们的数据格式。首先热度一列里面含有中文,需要分割,其次因为热度数值是小数不方便操作,因此我们决定将热度扩大 1000 倍,因为是整体扩大了 1000 倍,因此并不会影响分析结果。

之后我们需要解析出该景点所在的城市。同样是分割字符串。同时因为还有一些地点是地图无法识别的,所以要去除。

data = []
with open('data.csv', 'r') as f:
    reader = csv.reader(f)
    header = next(reader)
    for row in reader:
        data.append(row)

df_data = []
for row in data:
    city = row[1].split('·')[1]
    if city in ['保亭', '德宏', '湘西', '陵水', '黔东南', '黔南']:
        continue
    star = row[4].split('热度')[1].strip()
    star = int(float(star) * 1000)
    df_data.append([row[0], city, row[3], star])

df = pd.DataFrame(df_data, columns=['name', 'city', 'level', 'star'])

数据准备妥当,绘制热点图。

data = df.groupby(by=['city'])['star'].sum()
citys = list(data.index)
city_stars = list(data)

data = [list(z) for z in zip(citys, city_stars)]
geo = (
    Geo()
    .add_schema(maptype="china")
    .add(
        "热点图",    #图题
        data,
        type_=ChartType.HEATMAP,   #地图类型
    )
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))  #设置是否显示标签
    .set_global_opts(
            visualmap_opts=opts.VisualMapOpts(max_ = 5000),    #设置legend显示的最大值
            title_opts=opts.TitleOpts(title=""),   #左上角标题
    )
)

geo.render_notebook()

从上图可以看出,东南沿海,北京周边以及云南四川是比较热门的地区。

再来看看 TOP 15 的热点旅游城市:

再来看看 TOP 10 的热点旅游景区:

总结

今天我们对去哪儿的国庆热门景点进行了抓取和分析,一整套流程下来还是涉及到不少东西。包括网站分析,数据抓取和清洗以及图标展示。尤其是网页元素分析,需要多点耐心。

分析结果也比较符合预期,风景建筑类地点比较多人想去,毕竟大城市的人天天待格子间,趁着长假多去户外呼吸呼吸新鲜空气,其次北京、上海、杭州、成都等大都市依然很受欢迎。

因为疫情,国庆节可以说是 2020 的第一个旅游黄金周了,就在国外还在为疫情苦苦发愁的时刻,我们的客运航运已经恢复的差不多了,同时为了刺激消费,各个地方政府接连发放各种优惠券,外出游玩的小伙伴们也算是奉旨出游,为我国经济增长贡献了自己的力量。

那么这个国庆节,你去哪浪了呢。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

完整代码可以点击下方链接获取~

python免费学习资料以及群交流解答点击即可加入

 

【实战】YOLOv5/v8模型→RK3588 NPU高效部署:模型转换/量化/精度调优完整指南​ 摘要: 本教程详细介绍了YOLOv5模型在RK3588 NPU上的优化部署流程,重点解析了架构转换与量化技术。通过将检测头输出结构与decode操作分离,显著提升了模型在NPU上的兼容性和计算效率。LetterBox预处理方案有效保持图像宽高比,相比直接resize提升检测精度。INT8量化技术采用非对称量化策略,通过scale和zero_point参数实现浮点到整数的转换,在保证精度的同时大幅提升推理速度。实验表明,优化后的模型在RK3588上实现了高效的实时目标检测性能,为边缘AI部署提供了完整解决方案 阅读详情

相关推荐

搭建PX4开发系统(Ubuntu 22.04)

本文是《从零开始学 PX4 无人机开发》系列第二篇,适合开发者在 Ubuntu 系统下快速搭建 PX4 编译与仿真环境,支持 QGroundControl、Gazebo、MAVSDK 等完整工具链。

qq_15856721的博客 4205

R型聚类分析

R型聚类分析是聚类分析的一种,一般对指标进行分类。 在实际工作中,为了避免漏掉某些重要因素,往往在一开始选取指标的时候尽可能考虑所有的相关因素,而这样做的结果,则是变量过多,变量间的相关度较高,给统计分析与建模带来极大不便,因此人们希望能够研究变量间的相似关系,按照变量的相似关系把他们聚合成若干类,进而找出影响系统的主要因素,引入了R型聚类方法。 方便自己比赛,写之。 举例: 服装标准制定

Yesterday You Said Tomorrow. 3万+

告别C盘爆红!手把手教你将WSL2下的Ubuntu 22.04完整迁移到D盘(附清理指南)

本文详细指导如何将WSL2下的Ubuntu 22.04从C盘无损迁移到D盘,包括导出备份、注销原系统、导入新位置等关键步骤,并提供迁移后的优化配置、开发环境衔接及长期维护技巧,帮助用户彻底解决C盘空间不足问题。

weixin_28698059的博客 475

利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)

对来源于Frank and Asuncion (2010)胎心宫缩监护(cardiotocography, CTG) 数据(CTG.xls)分别使用最短距离法、最长距离法、类平均法、重心法、离差平方和法(Ward.D、Ward.D2)、K-means法进行按样本聚类和按变量聚类,包括详细代码、分析及可视化。

jd1813346972的博客 1万+

Mac上MySQL出现secure-file-priv为null

在使用MySQL导入导出文件时出现了错误,原因是没有配置secure-file-priv。 我的MySQL版本是8.0.13,使用如下命令查看secure-file-priv。 结果发现secure-file-priv为空,此时需要为它配置一个文件夹。 解决方案: 1)到MySQL的安装目录中去,Mac中是的是 /usr/local/mysql/support-files,该目录下有一...

zhangvalue的博客 5885

国内9大Coding Plan平台实测:CI/CD延迟与开发者体验横评

代码托管平台不仅是Git仓库,更是现代研发流程的‘生产力基建’核心。其底层能力涵盖Git协议优化、CI/CD调度实时性、制品库并发吞吐及RBAC权限收敛效率等关键维度。尤其在团队规模扩张、日均提交激增、多环境高频部署场景下,Webhook延迟、CI排队耗时、制品上传卡顿等应用层性能指标,远比网络层ping值更能决定开发效能。本文基于真实微服务项目(32模块、8.7万行/仓)与三类极端负载(长尾构建、热区冲突、制品洪峰),对国内9个满足Coding Plan标准的平台开展端到端压测,聚焦CI/CD延迟与开发者

weixin_29281941的博客 368

聚类分析:Q型聚类、R型聚类

Q型聚类和R型聚类都是聚类分析中常用的方法,它们各自有各自的优缺点,应根据具体数据和应用场景选择合适的聚类算法。在应用聚类分析时,还需注意一些问题,如聚类数目的确定、相似性度量标准的选择等,只有充分考虑这些因素,才能得到准确可靠的聚类结果。

m0_72410588的博客 2万+

基于PSIM仿真的单相全桥逆变电路

根据单极性SPWM调制电路、双极性SPWM调制电路和逆变器拓扑可以得到完整的逆变器仿真电路模型。

weixin_59329579的博客 1万+

国庆长假游玩人次达6.37亿人次,这么多人都到哪儿去玩了呢?

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于Python技术 ,作者派森酱 前言 2020 注定是不平凡的一年,一开年就被新冠疫情来了当头一棒,一瞬间大家都不约而同的采取家里蹲策略,在政府的得力领导下,全部人民上下一条心,到了四五月份终于将疫情稳定控制住了,时隔半年,国内疫情早已趋于稳定,人们的生活也基本恢复正常。 恰逢国庆中秋两个节日重合,在家憋这么久的人们怎么能不出去看看祖国的大好河山。据新华网消息,整个国庆

Python案例分享,B站视频教程:https://space.bilibili.com/523606542 410

抖音小程序:解决获取手机号报错 getPhoneNumber:fail auth deny,登录注册时需要获取用户手机号,getPhoneNumber一直提示错误(Uniapp抖音小程序报错也能解决)

抖音字节小程序获取手机号报错getPhoneNumber:fail auth deny,抖音 小程序 获取手机号 报错 getPhoneNumber:fail auth ,抖音小程序获取手机号始终返回拒绝,抖音小程序获取手机号,已经过了试运营期但依旧报错如何解决,调用 tt.getPhoneNumber 接口报错,登录注册时需要获取用户手机号,getPhoneNumber一直提示getPhoneNumber:fail auth deny,此能力仅支持小程序通过试运营期后可用,默认获取权限,无需申请;unia

✅ 精选推荐文章 4305

交货单冲销发货过账的正确姿势:用 VL09 与 ABAP 批量反冲 Goods Issue

摘要 本文详细解析了SAP系统中VL09事务码的技术实现与业务应用。VL09用于反冲发货的货物移动,通过标准冲销路径(移动类型602冲销601)确保单据链路一致、状态机正确回退和业务规则生效。文章对比了经典VL09与Fiori应用在不同SAP产品形态中的位置,并针对STO场景提供了ME23N验证方法。核心内容包括WS_REVERSE_GOODS_ISSUE函数模块的调用要点、必须COMMIT的原因(SAP LUW机制),以及处理Handling Unit等限制条件的注意事项。最后给出了将VL09工程化的项目

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 594

data wrangling with python_国庆长假已结束,Python 告诉你 6 亿国人都去哪儿浪了附源码 - 耀扬

看到了网上的一篇文章,把完整源码附上据新华网消息,整个国庆长假外出游玩人次达 亿人次,那么这么多人都到哪儿去玩了呢,今天我们就用 Python 做一个全国热门景区热点图。入口先说程序入口:热门景点.html?from=mps_search_suggest_h发现去哪儿网有一个「热门景点」的内页,在首页输入框直接输入「热门景点」即可直达该页面。该网站还将这些热门景点进行了分类,比如人文景观,城市风...

weixin_39628186的博客 97

【YoloV11改进策略】基于流形约束超连接(mHC)增强YoloV11全局特征提取能力|独家复现|梁文峰署名论文

论文标题:流形约束超连接 (Manifold-Constrained Hyper-Connections, mHC)核心问题:针对超连接 (Hyper-Connections, HC) 扩展残差流宽度时破坏恒等映射、引发训练不稳定性和高内存开销的问题,提出一种约束性框架。目标:恢复残差连接的稳定性与可扩展性,同时保持HC的性能增益。基准模型:基于DeepSeek-V3的MoE架构,进行了3B、9B、27B模型的实验验证。论文图示mHC 是一个通用的HC扩展框架。

m0_47867638的博客 1352

用Python画一面五星红旗

1949年12月2日,中央人民政府委员会第四次会议通过的决议指出:“中央人民政府委员会宣告:自1950年起,即以每年的10月1日,为中华人民共和国国庆日。”这就是把“10月1日”确定为中华人民共和国“生日”,即“国庆日”的来历。!!!特此,为大家献上过期一面!!!

小鹏linux的博客 5139

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

OSChina 周六乱弹 ——致敬默默守护国运的男人们

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34185364的博客 301

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

数学建模入门笔记(2) 聚类分析

聚类分析 ​ 聚类分析(Cluster Analysis):又称群分析,对多个样本/指标定量分类的多元分析方法,是无监督学习 1 聚类分析的分类 ​ Q型聚类(Qualitative Clustering):也称硬聚类,一般用于将样本聚类,每一簇之间无交集,用距离作为相似性度量,包括 K-Means聚类、层次聚类、DBSCAN聚类 等 ​ R型聚类(Qualitative Clustering):也称软聚类或模糊聚类,一般用于将指标聚类,每一簇之间有交集,用相关系数/夹角余弦等作为相似性度量,包括 F

m0_73478397的博客 2630

R实现几种简单的聚类分析

有句话说得好:物以类聚,人以群分;而聚类分析就是要把这样的“类”和“群”找出来。聚类分析指将物理或抽象对象的集合分组为由类似的对象组成的多个类的分析过程。比如两个人都喜欢...

大数据技术派 3836

多元相关性分析_一篇短文读懂聚类分析

一、 聚类分析概念聚类(Cluster)分析,顾名思义就是指将研究的对象进行分类,这是人们认识世界最基本的方法。生物学家通过分类,区分了动物和植物,物理学分成了力、热、声、电,化学分成了有机和无机。古老的分类学,人们主要靠经验和专业知识实现分类,随着人类对自然的认识不断加深,仅靠经验和专业知识已不能准确分类,于是最早把数学工具引进了植物分类,出现了种、属、科、目、纲、门和界的自大而小的阶...

weixin_39639049的博客 2210

皮尔逊、肯德尔、斯皮尔曼相关分析分别是针对什么_SPSS 聚类分析之系统(分层)聚类...

前文说到K—均值聚类分析,该篇介绍系统聚类法系统聚类法常称为层次聚类法、分层聚类法,也是聚类分析中使用广泛的一种方法。它有两种类型,一是对研究对象的本身进行分类,称为Q型聚类;另一是对研究对象的观察指标进行分类,称为R型聚类。同时根据聚类过程不同,又分为分解法和凝聚法。特点:样本和变量都可以聚类,变量可以为连续或分类变量(变量虽然可以为连续型或者分类型,但是不能混用,要不就是全分类这样使用,要不就...

weixin_39560064的博客 2055

R语言基础| 聚类分析

即两点之间的直线距离。“correlation”:相关性距离,用于计算向量之间的相关性距离,表示向量之间的相关性程度。常见的方法包括”complete”(全联动)、“single”(单联动)、“average”(平均联动)、"centroid”(质心)和ward法,默认为”complete”。1)层次聚类:每个观测值自成一个聚类簇,这些聚类簇每次两两合并,直到所有的聚类簇被聚成一个聚类簇为止。2)划分聚类:首先指定聚类簇的数目k,然后观测值被随机分为k个聚类簇,再重新形成内聚性很强的聚类簇。

weixin_47195452的博客 2906

R之聚类分析法

什么是聚类分析? 聚类分析(cluster analysis)是把研究对象(样本或变量)分组成为由类似的对象组成多个类的一种统计方法。聚类分析根据对象不同氛围两类: Q型聚类分析:对样本进行聚类 R型聚类分析:对变量进行聚类 一般情况下,使用Q型聚类分析法。 如何量化相似性? 相似性度量一般分为两种: 距离:常用来度量样本...

weixin_34080903的博客 683

68 R 聚类分析

R 聚类分析1 常规聚类过程2 变量的相似度计算方法1 连续型属性的相似度计算方法2 二值离散型属性的相似度计算方法3 多值离散型属性的相似度计算方法4 混合类型属性的相似度计算方法3、 k平均(k-means)聚类算法4 层次聚类方法5 聚类之EM算法6 R 实践**K-means聚类**层次聚类 1 常规聚类过程 • 1、首先用dist()函数计算变量间距离 dist.r = dist(data, method=” “) • 其中method包括:”euclidean”, “maximum”, “man

THE ORDER 3540

【R模型】R语言聚类分析指南 (保姆级教程)

本文介绍了使用R语言进行无监督聚类分析的完整流程

R酷的数据科学笔记 1508

python对电影进行预测评分_基于R语言构建的电影评分预测模型

原标题:基于R语言构建的电影评分预测模型欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习、问答、求职,一站式搞定!对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。 评分系统是一种常见的推荐系统。现在使用R语言基于协同过滤算法来构建一个...

weixin_39683241的博客 852

聚类分析学习(三)R型聚类学习

一.R型聚类简介     1.R型聚类分析是聚类分析的一种,一般对指标进行分类。     2.R型聚类的引入简介:    在实际工作中,为了避免漏掉某些重要因素,往往在一开始选取指标的时候尽可能考虑所有的相关因素,而这样做的结果,则是变量过多,变量间的相关度较高,给统计分析与建模带来极大不便,因此人们希望能够研究变量间的相似关系,按照变量的相似关系把他们聚合成若干类,进而找出影响系统的主要因...

圣帝天龙之博客传奇 1万+
上一篇: Python实现协程的几种方法!这个非常有用!
下一篇: 手把手教你用Python网络爬虫获取壁纸图片!
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值