基于python的天气数据采集与可视化分析,对20个城市的天气适宜出行度分析

devtools/2024/11/14 9:14:13/

摘要

本项目旨在基于Python对20个城市的天气数据进行采集与可视化分析,以评估天气的适宜出行度。该分析通过四个主要指标进行量化,这些指标分别是天气状况良好率、空气质量优良率、气温适宜率和安全天气率。通过这些指标,我们能够有效地判断不同城市在特定时间段内的天气情况,从而为出行决策提供科学依据。

天气状况良好率是指出行时适宜露天行走的天气条件的比率。这包括晴天、阴天和多云天气,而排除降雨、降雪、沙尘和雾霾等不适宜的天气情况。通过分析历史天气数据,我们能够计算出各个城市在一定时间段内天气状况良好的天数占总天数的比例。

空气质量优良率是通过监测空气质量指数(AQI)来衡量的。AQI值小于等于100被视为空气质量良好,因此我们计算每个城市在分析期间内AQI小于等于100的天数比率。这一指标对出行的健康安全具有重要影响。

气温适宜率的计算基于每日气温的区间值。定义适宜温度为10至30度,因此我们的计算方法是将每日气温区间与适宜温度区间进行重合比对,计算重合部分占当日气温区间的比例。这一指标能够反映出适宜出行的温度环境。

安全天气率是指不出现对人类有危险的天气条件的比率。危险天气包括沙尘暴、严重的雨雪天气以及风速达到6级或以上的强风。通过监测这些天气状况,我们能够进一步评估出行的安全性。

将上述四个指标计算到手后,项目通过加权平均的方法综合评估天气适宜出行度。每个指标根据其在出行决策中的重要性赋予不同的权重,最终得出一个综合评分。这个评分将为用户提供一个简单明了的出行参考,使他们能够根据天气状况做出更明智的出行选择。

通过本项目的分析,我们不仅能够深入了解各城市的天气特点,还能帮助人们更好地规划出行,减少因天气导致的不便与风险。数据的可视化展示将使分析结果更加直观,便于受众理解与应用。未来,项目可以扩展至更多城市和时间段,进一步增强分析的全面性和准确性。

分析思路

本次分析对中国20个城市,在一年中不同时间的天气是否适宜出行做了量化,总结出一些有用的规律,包括:

  • 在冬季(12、1、2月),南方城市如广州、福州、昆明的气温适宜,天气状况良好,适宜出行。
  • 在夏季(6、7、8月),北方城市如银川、长春、呼和浩特等城市的气温适宜,天气状况良好,适宜出行。
  • 在4-5月以及9-10月份,大部分城市的出行天气适宜度都达到一年中的较好乃至最好的时期。

数据说明

数据通过python数据采集了2345天气网站包含了2019年1月1日到2023年12月31日的5年时间里,中国20个城市的每日天气指标,包括最低最高气温、晴雨情况、空气质量以及风速风向。这20个城市分别是武汉、杭州、天津、长春、广州、沈阳、南宁、北京、哈尔滨、南京、合肥、昆明、南昌、福州、太原、济南、海口、呼和浩特、西宁、银川。

其中呼和浩特、海口、西宁、银川四个城市在2019年9月21日到9月22日的天气数据存在数据缺失,但缺失数量较少,对本次分析影响不大。

主要代码如下:

# 新建一个excel工作簿对象
wb = Workbook()
sheet = wb.active
list1=[('杭州', '58457'), ('湖州', '58450'), ('嘉兴', '58452'), ('金华', '58549'), ('丽水', '58646'), ('宁波', '58465'), ('衢州', '58633'), ('绍兴', '58453'), ('台州', '58651'), ('温州', '58659'), ('舟山', '58477')]# 指定需要的城市id和月份
city_id_list = ["58457", "58457"]
month_list = ["8", "9"]
start_row = 0# 循环调用get_weather函数
for city_id in city_id_list:for month in month_list:start_row = get_weather(city_id, month, start_row)

天气适宜出行度怎么算?">天气适宜出行度怎么算?

天气适宜出行度是一个综合指标。其由下面四个指标的加权平均数:

  • 天气状况良好率:出现适宜露天行走的天气,包括晴天、阴天、多云天气(也就是不是雨雪沙雾霾的天气)等天气的比率。
  • 空气质量优良率:空气质量指数(AQI)<=100的比率。
  • 气温适宜率:设10-30度为适宜温度。因为每日气温是一个区间值,因此计算方式是气温区间和适宜温度的区间进行对比,计算重合的部分占当日气温区间的比率。
  • 安全天气率:不出现对人有危险的天气的比率。这里的危险天气包括沙雾霾天气、大/暴级别的雨雪天气、6级以上大风。之所以没有包括高温和低温,是因为已经包含在气温适宜率中了。

得到上述四个指标后,对其取加权平均数,即得到天气适宜出行度

其中$w_1,w_2,w_3,w_4$代表相应指标的权重,目前全部为1,即四个指标的权重相同。

环境准备

 python3.7及以上版本+pycharm+matplotlib库+requests库+pandas库

天气适宜出行度的分布">天气适宜出行度的分布

从中可以看到

  • 4-5月以及9-10月是各个城市普遍的出行好时候。而且刚好遇上五一节和国庆节。
  • 在冬季(12、1、2月),福州、广州、昆明等偏南方城市的天气适宜出行度较好。这些城市有着适宜的温度和更高比率的好天气
  • 而在夏季(6、7、8月),因为高温和增加的降水等原因,许多南方城市也会转入不适宜出行的时节。而此时偏北方的银川、呼和浩特、长春等城市变得适宜出行。

一些旅游城市的情况:

  • 杭州最佳的出行月份是10月,其次是9月和4月。
  • 昆明最佳的出行月份是3月,其次是4月和11月。
  • 海口最佳的出行月份是12月,其次是2月和3月

天气适宜出行度聚类 

  • 上图中,天气出行适度越相似的城市和月份会聚集在一起。例如广州、海口、昆明、福州、南宁就有着较高的相似度。

一些城市的天气适宜出行度 

  • 昆明全年的天气都较适宜出行。不过6月到10月会进入雨水较多的时期,对于出行会造成影响。而冬季的气温不如春秋季适宜,所以最佳的出行时间是3-4月以及11月。
  • 从杭州的天气情况来看,最适宜出行的时间是4-5月和9-11月。冬季和夏季主要因为气温条件不太适宜,因此较不适宜出行。
  • 广州夏季降水较多、气温高,因而不太适宜出行。最佳的出行时间是10月份到2月份。
  • 哈尔滨最适宜出行的时间是夏天,这个时候气温适宜且空气质量较好。当然,在哈尔滨的冬季,其一些自然景观也是非常值得去体验的,但从天气角度看,不太适宜出行。
  • 银川在4月到9月之间气温进入较适宜的时期,且天气状态良好,空气质量较好,是出行的好时间。

特殊气象特征的出行选择 

考虑到一些出行需求是和特殊气象特征相关的,比如赏雪、观雨。因此下面对一些特殊气象的出行需求提供数据支持,其包括:


http://www.ppmy.cn/devtools/133028.html

相关文章

【Linux】Ansible集中化运维工具(详解)安装、常用模块、playbook脚本

文章目录 一、Ansible安装及远程控制1、关闭防火墙和SELinux2、安装ansible3、配置SSH无密码登录1、在管理机上生成一对密钥2、将公钥下发到远程主机3、保管密钥 4、主机目录 二、常用模块1、setup模块2、copy模块3、file模块4、shell模块5、script模块6、ping模块7、group模块…

多模态PaliGemma——Google推出的基于SigLIP和Gemma的视觉语言模型(含SigLIP详解)

前言 本文怎么来的呢&#xff1f;其实很简单&#xff0c;源于上一篇文章《π0——用于通用机器人控制的流匹配VLA模型&#xff1a;一套框架控制7种机械臂(改造了PaliGemma和ACT的3B模型)》中的π0用到了PaliGemma 故本文便来解读下这个PaliGemma 第一部分 PaliGemma 1.1 Pal…

【赵渝强老师】Redis的RDB数据持久化

Redis 是内存数据库&#xff0c;如果不将内存中的数据库状态保存到磁盘&#xff0c;那么一旦服务器进程退出会造成服务器中的数据库状态也会消失。所以 Redis 提供了数据持久化功能。Redis支持两种方式的持久化&#xff0c;一种是RDB方式&#xff1b;另一种是AOF&#xff08;ap…

基于地铁刷卡数据分析与可视化——以杭州市为例(二)

上篇文章提到&#xff0c;由于2019年1月1日正好是元旦&#xff0c;为了消除节假日对数据分析的影响&#xff0c;我们选择了节后的一周来进行详细的客流分析。具体日期选择为2019年1月8日至1月14日。在这段时间内&#xff0c;我们关注的是地铁线路的进站客流情况。数据表中的 st…

理解虚拟 DOM:Vue 的灵魂之处

理解虚拟 DOM&#xff1a;Vue 的灵魂之处 在现代前端开发中&#xff0c;性能是一个至关重要的考虑因素。Vue.js 作为一款流行的前端框架&#xff0c;其中一个让人称道的特性就是它的“虚拟 DOM”。那么&#xff0c;虚拟 DOM 是什么&#xff1f;它是如何工作的&#xff1f;本文…

Java中的线程安全问题(如果想知道Java中有关线程安全问题的基本知识,那么只看这一篇就足够了!)

前言&#xff1a;多线程编程已经广泛开始使用&#xff0c;其可以充分利用系统资源来提升效率&#xff0c;但是线程安全问题也随之出现&#xff0c;它直接影响了程序的正确性和稳定性&#xff0c;需要对其进行深入的理解与解决。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解…

树莓派AI视觉小车--5.机器人小车超声波避障

通过超声波模块与小车结合&#xff0c;实现小车超声波避障。确保小车接线已安装&#xff0c;且安装正确。 通过超声波来获取小车与障碍物的距离。当检测到小车与障碍物的距离小于我们的设置的距离时&#xff0c;小车左旋避开障碍物。 运行代码如下所示&#xff1a; from LOBO…

漏洞分析 | Spring Framework路径遍历漏洞(CVE-2024-38816)

漏洞概述 VMware Spring Framework是美国威睿&#xff08;VMware&#xff09;公司的一套开源的Java、JavaEE应用程序框架。该框架可帮助开发人员构建高质量的应用。 近期&#xff0c;网宿安全演武实验室监测到Spring Framework在特定条件下&#xff0c;存在目录遍历漏洞&…