Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >今年是冷冬?我爬了北京10年的气温,哟 还真是!

今年是冷冬?我爬了北京10年的气温,哟 还真是!

作者头像
xindoo
发布于 2021-01-21 15:26:43
发布于 2021-01-21 15:26:43
50400
代码可运行
举报
文章被收录于专栏:XINDOO的专栏XINDOO的专栏
运行总次数:0
代码可运行

WARNING: 非严谨气相数据分析,旨在表达数据分析过程,结论还是看看就好,更严谨的信息请查阅专业的气相资料。

10月份的北京,仿佛酷热的夏季戛然而止,然后变成了春夏秋冬随机播放的模式,与往年不同的是今年很多人都在说“今年比去年冷多了”。 之前网络上就在传受拉尼娜现象的影响,今年会是个冷冬,似乎大家早已将今年的冬天和关联在了一起。 那问题就来了,今年的冷是真冷还是“冷冬”给大家的心理暗示?

为了搞清楚这个问题,我想到了我之前写的天气数据爬虫,当时我是为了学习fbprophet,然后就写了用fbprophet预测北京未来一个月的气温一文,恰好收集到的近10年北京天气数据还能用,那我们就来通过历史数据来对比下今年是不是更冷。所有相关代码我都已上传至我的Github仓库 weather-analysis,抓取到的数据见data.csv

数据分析

这里我用了python的matplotlib和pandas做数据处理和图像绘制,完整数据和代码见我github bj_oct_temp_analysis.ipynb

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# coding: utf-8
# 分析北京10月份的气温数据
import matplotlib.pyplot as plt
import pandas as pd
# 数据预处理 
data = pd.read_csv("data.csv")
data.head()
# 把年月日拆成新的3列数据,方便后续处理和绘图 
data['yyyy'] = data['date'].apply(lambda x : x.split("-")[0])
data['mm'] = data['date'].apply(lambda x : x.split("-")[1])
data['dd'] = data['date'].apply(lambda x : x.split("-")[2])
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 绘制日最高温度数据 
plt.figure(figsize=(12, 6))
plt.title('oct_max_temp')
plt.xlabel('date')
plt.ylabel('maxTemp')
for year in range(2011, 2020):
    curData = data[(data['yyyy'] == str(year)) & (data['mm'] == '10')]
    plt.plot(curData['dd'], curData['maxT'], color='gray')
# 计算11-1910月的均值 
meanData = data[(data['mm'] == '10') & (data['yyyy'] < '2020')].groupby('dd').mean()
meanData['maxT'].head()
plt.plot(meanData['maxT'], linewidth=2.0, color='blue', label='mean')
# 绘制202010月的数据
year20 = data[(data['yyyy'] == '2020') & (data['mm'] == '10')]
plt.plot(year20['dd'], year20['maxT'], linewidth=2.0, color='red', label='2020')
plt.legend()
plt.show()

从北京历年10月的的最高气温来看,今年10月的日最高温度还是停留在比较正常的水平,当然这也说明不了今年更冷或者更热。我们来看看日均最低气温的数据,还是同样的绘制方法,只需要换下数据列即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 和上面一样,只是这里绘制最低温度的数据 
plt.figure(figsize=(12, 6))
plt.title('oct_min_temp')
plt.xlabel('date')
plt.ylabel('minTemp')
for year in range(2011, 2020):
    curData = data[(data['yyyy'] == str(year)) & (data['mm'] == '10')]
    plt.plot(curData['dd'], curData['minT'], color='gray')
# 计算11-1910月的均值 
meanData = data[(data['mm'] == '10') & (data['yyyy'] < '2020')].groupby('dd').mean()
plt.plot(meanData['minT'], linewidth=2.0, color='blue', label='mean')

year20 = data[(data['yyyy'] == '2020') & (data['mm'] == '10')]
plt.plot(year20['dd'], year20['minT'], linewidth=2.0, color='red', label='2020')
plt.legend()
plt.show()

这里很明显今年确实比以往更冷,甚至有几天创下了近10年的最低温度记录,而且大多数日子温度都低于过去9年的平均值,看来冷冬的传闻是真的

9月数据

同样,我们来看看9月北京的数据。

可以看的出来9月还是比较正常的,也就是说这个冷冬是从10月才开始的,那等到下个月月底,我们再来看11月份的数据,看看冷冬是不是纸老虎。

结语

最后斗胆预测下未来一个月的最高和最低温度走势,详见fbprophet_temp_predict.ipynb

冷冬不是空穴来风,各位旁友们今年还是要做好保暖和防护措施啊! btw: 我后来有用同样的方式看了下大连的数据(详见dl_oct_temp_analysis.ipynb),结果发现大连并没有比以往更冷,但大连的旁友们还是在抱怨今年冷,我……

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用fbprophet预测北京未来一个月的气温
  fbprophet是facebook开源的时序数据预测包,提供了简洁的python和R api,可以对时序数据做一些预测,也提供了有些简单的趋势分析。更多细节可以看下官方文档。官方doc中给了一个数据集作为prophet的入门,这里我也只是按照官方的入门文档编写了的代码,很简单,只是把数据集换成了北京这8年来的每日温度数据,温度数我从网上爬取的,爬虫源码和数据可以从我github上找到。
xindoo
2021/01/22
1.1K0
用fbprophet预测北京未来一个月的气温
Python爬取天气数据及可视化分析!
来源丨Python之王 Python爬取天气数据及可视化分析 说在前面 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物、安排出行,每天的气温、风速风向、相对湿度、空气质量等成为关注的焦点。本次使用python中requests和BeautifulSoup库对中国天气网当天和未来14天的数据进行爬取,保存为csv文件,之后用matplotlib、numpy、pandas对数据进行可视化处理和分析,得到温湿度度变化曲线、空气质量图、风向雷达图等结果,为获得未来天气信息提供了有效方法。 1.数据获取
张俊红
2022/04/06
1.6K0
Python爬取天气数据及可视化分析!
使用LSTM深度学习模型进行温度的时间序列单步和多步预测
本文的目的是提供代码示例,并解释使用python和TensorFlow建模时间序列数据的思路。
deephub
2020/12/11
2.7K0
使用LSTM深度学习模型进行温度的时间序列单步和多步预测
天气预报 :天气数据集爬取 + 可视化 + 13种模型预测
爬取思路:确定目标(目标网站:大同历史天气预报 2020年5月份) 请求网页(第三方库 requests) 解析网页(数据提取) 保存数据(这里以 .csv 格式存储到本地)
荣仔_最靓的仔
2021/02/02
15.5K0
天气预报 :天气数据集爬取 + 可视化 + 13种模型预测
python 时间序列预测 —— prophet
prophet 是facebook 开源的一款时间序列预测工具包,直接用 conda 安装 fbprophet 即可
全栈程序员站长
2022/06/25
2.8K0
python 时间序列预测 —— prophet
利用热图探索温度变化
参考:Heatmap for timeseries with Python and Matplotlib[1]
HsuHeinrich
2025/05/27
1140
利用热图探索温度变化
R语言对某地天气和温度的分析及预测
历史天气数据来源:http://tianqi.2345.com/wea_history/54511.htm,这是北京的历史数据,采样城市北京、上海、苏州、长沙、广州、一共采集了2011-1-1到2015-4-2这四年三个月共1542(354+366+365+365+92)天的天气数据,其中2011-1-17到2011-1-25这十天的数据缺失,查了多个网站都发现这种情况,就没有把数据补齐了。另外,上海、苏州、广州这三个城市2012-1-15这天,长沙2015-2-10这天,五个城市2014-3-8这天的数据
机器学习AI算法工程
2018/03/13
4.6K0
R语言对某地天气和温度的分析及预测
数据采集与数据分析代码实操
数据采集是指识别数据源、收集原始数据并将其传输或存储到可以处理的地方的过程。它是整个数据价值链的起点。
华科云商小徐
2025/07/02
2070
Pandas数据应用:天气数据分析
随着全球气候变化的加剧,天气数据的分析变得越来越重要。通过分析历史天气数据,我们可以预测未来的气候趋势,帮助各行各业做出更明智的决策。Pandas 是一个强大的 Python 数据处理库,广泛应用于数据科学领域。本文将从基础到深入,介绍如何使用 Pandas 进行天气数据分析,并探讨常见问题、报错及解决方案。
Jimaks
2024/12/30
5450
[股票预测]股票历史数据获取[通俗易懂]
通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据。本接口只能获取近3年的日线数据,适合搭配均线数据进行选股和分析。
全栈程序员站长
2022/09/12
1.7K0
[股票预测]股票历史数据获取[通俗易懂]
Python绘制气象实用地图(附代码和测试数据)
前面的推文对于常用的Python绘图工具都有了一些介绍,在这里就不赘述了。本文主要就以下几个方面:“中国区域绘图”、“包含南海”、“兰伯特投影带经纬度标签”、“基于salem的mask方法”、“进阶中国区域mask方法”、“进阶省份mask方法”。对日常的实用需求能够在一定程度上满足。后续就Python在气象常用的统计方法(显著性检验)、合成分析、多变量叠加绘图再进行推送,敬请期待!
MeteoAI
2019/08/12
16.3K3
Python绘制气象实用地图(附代码和测试数据)
python基础代码汇总
1. 文件操作 请通过键盘依次输入每位同学的学号、姓名、性别、身高、体重,并保存在c:\student.txt文件中,每位同学一行。程序运行过程如下: 学号: 100 姓名: zhangsan 性别: 男 身高: 175 体重: 72 学号: 200 姓名: lisi 性别: 女 身高: 168 体重: 55 保存之后的文件内容如下: 100 zhangsan 男 175 72 200 lisi 女 168 55 请通过键盘输入学号,在刚才保存的c:\student.txt文件中,查询相应的学生,输出ta的身高。运行过程如下: 学号: 100 175
用户8442333
2021/05/17
5290
比特币一年翻 6 倍?看我用 Python 动态可视化比特币价格变动趋势
最近几年,比特币一直站在风口浪尖,一度被追捧为最佳的投资产品,拥护者认为这种加密货币是一种类似于黄金的储值工具,可以对冲通胀和美元疲软
AirPython
2021/03/26
8350
比特币一年翻 6 倍?看我用 Python 动态可视化比特币价格变动趋势
气象数据分析 | 经验正交分解EOF
经验正交函数分析方法(empirical orthogonal function,缩写EOF)也称特征向量分析(eigenvector analysis),或者主成分分析(principal component analysis),是一种分析矩阵数据中的结构特征,提取主要数据特征量的一种方法。
郭好奇同学
2021/07/30
3.5K0
时间序列预测全攻略(附带Python代码)
原文作者:AARSHAY JAIN 36大数据翻译,http://www.36dsj.com/archives/43811 时间序列(简称TS)被认为是分析领域比较少人知道的技能。(我也是几天前才知道它)。但是你一定知道最近的小型编程马拉松就是基于时间序列发展起来的,我参加了这项活动去学习了解决时间序列问题的基本步骤,在这儿我要分享给大家。这绝对能帮助你在编程马拉松中获得一个合适的模型。 文章之前,我极力推荐大家阅读《基于R语言的时间序列建模完整教程》A Complete Tutorial on Ti
机器学习AI算法工程
2018/03/13
15.1K0
时间序列预测全攻略(附带Python代码)
[Python从零到壹] 十七.可视化分析之Matplotlib、Pandas、Echarts入门万字详解
欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。
Eastmount
2022/11/25
2.7K0
近段时间天气暴热,所以采集北上广深去年天气数据,制作可视化图看下
前言 最近天气异常暴热,看到某些地方地表温度居然达到70°,这就离谱 所以就想采集一下天气的数据,做个可视化图,回忆一下去年的天气情况 开发环境 python 3.8 运行代码 pycharm 2
松鼠爱吃饼干
2022/12/05
4400
近段时间天气暴热,所以采集北上广深去年天气数据,制作可视化图看下
数据可视化 | 手撕 Matplotlib 绘图原理(二)
关于箭头和注释风格的更多介绍与示例,可以在 Matplotlib 的画廊gallery[1]中看到,尤其推荐
数据STUDIO
2021/06/24
1.7K1
基于趋势和季节性的时间序列预测
时间序列预测是基于时间数据进行预测的任务。它包括建立模型来进行观测,并在诸如天气、工程、经济、金融或商业预测等应用中推动未来的决策。
deephub
2022/11/11
1.4K0
基于趋势和季节性的时间序列预测
这40个Python可视化图表案例,强烈建议收藏!
不过有些小伙伴也会遇到不少问题,比如选择何种图表,以及如何制作,代码如何编写,这些都是问题!
小F
2021/09/14
4.7K0
推荐阅读
相关推荐
用fbprophet预测北京未来一个月的气温
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验