2021年的第一场雪,比以往时候来得更早一些?Python分析历史天气数据,带你赏雪

2021年11月6日晚,北京2021年的第一场冬雪降临,似乎比以往时候都要来得更早一些。

下雪了

今天我们用Python采集北京历史天气数据,来看看今年的冬雪是不是真的来得更早一些呢?

不过,在开始正文之前,咱们先赏一波雪景吧~

下雪

故宫雪景图1

故宫雪景图2

好了,我们开始正文部分吧~~

目录:

1. 近11年北京第1场冬雪时间

2. 2021年北京天气数据全览

2.1. 整体天气分布

2.2. 不同月份天气分布

2.3. 不同月份气温走势

2.4. 全年气温变化动态图

3. 数据采集

4. 数据处理

1. 近11年北京第1场冬雪时间

其实,并不是每年北京的冬天都有下雪。比如去年也就是年的冬季就没有下雪。

今年(2021年的冬雪是在11月6日),过去年的第1场冬雪时间表如下:

过去年的第1场冬雪时间表如下

我们可以看到,过去年里有3个年头并没有冬雪,大部分年份的第1场冬雪都是在月下旬及之后才出现。相比之下,年和年的第场冬雪来的时间相对更早一些(仅1日)是。不过吧,今年的这个雪属于大雪了,要比往年的都要大很多,更有下雪的味道!

2. 2021年北京天气数据全览

截止2021年10月31日共有304天,基于这天的天气数据,我们可以看到:

2.1. 整体天气分布

合计有223天多云和晴天,占比超过73%;阴天和雾霾天有55天,占比约为18%;下雨天有24天,占比约为8%。

(绘图来自Excel的插件)

注:在该网站历史数据中很多天空气质量差的算在了阴天里哈

2.2. 不同月份天气分布

下雨天主要集中在份、霾主要集中在月份。

(绘图使用库的方法)

热力图

2.3. 不同月份气温走势

从每日最高气温来看,基本上月属于高温月,很明显。

(绘图来自Excel的插件)

最高气温

从每日最低气温来看,的最低气温也属于全年度最高,而1月的最低气温可低到-20摄氏度,简直了。。

最低气温

2.4. 全年气温变化动态图

3. 数据采集

数据来源

历史天气网

网页简单解析如下

F12开发者模式

选定月份后,URL地址栏的会变化,比如2021年10月在URL地址栏里是 ,在URL最后的就是变化的规律所在。

确定的URL规律后,我们再看看怎么解析出数据,我这里直接采用的是方法哈,整体完整代码大家参考如下即可(修改地址即可,北京是,其他城市的大家打开网页自己看即可,很简单)。

完整代码

最终,我们采集的数据结果预览如下:

结果预览

4. 数据处理

数据处理部分我们用到的也是,以下将从处理思路和方法进行简单讲解,原始数据大家可以通过第三部分的数据采集爬虫代码运行获取。

引入库并读取数据预览

前几条数据

后几条数据

通过观察采集下来的数据,我们可以发现日期字段中带有星期信息,最高的最低气温中带有摄氏度符号,天气中存在雨夹雪等字眼。

为了进行数据的统计分析,我们需要对原始数据做简单的处理,操作如下:

分列日期与星期

赋值

去掉气温的单位符号

新增字段标记是否有雪

再看数据info

我们看这个数据发现各字段基本都不是我们想要的类型,比如日期字段、最高最低气温期望是类型等等。于是,我们需要进行相关数据类型转换啦。

数据类型转换

筛选出年月日信息

随机5条数据

寻找每年的第一场冬雪

每年下雪天数

以上就是我们对北京历史天气的一些数据分析。

粉丝福利,点击免费领取

猜你喜欢

转载自blog.csdn.net/l947282038/article/details/121237648