python空气质量分析与预测_干货!如何用 Python+KNN 算法实现城市空气质量分析与预测?...

本文介绍了如何使用 Python 爬取并分析天津等地的空气质量数据,通过可视化展示了全年及月均 AQI 走势,并运用 KNN 算法进行预测,实现了空气质量的大数据分析。实验结果显示模型准确度达到90%。
摘要由CSDN通过智能技术生成

原标题:干货!如何用 Python+KNN 算法实现城市空气质量分析与预测?

作者 | 李秋键

责编 | 伍杏玲

封图 | CSDN 付费下载自东方 IC

出品 | CSDN(ID:CSDNnews)

随着中国工业和科技的发展,中国的一些发达城市的空气质量问题变得越来越严重,其中最为严重的便是PM2.5带来的恶劣环境问题。

本文在根据网络公开空气质量数据的基础上进行爬取相关数据,主要针对环境较为恶劣的城市,天津、北京、广州等几个城市,尤其是针对天津的质量数据进行对比分析。在分析的基础上得出空气质量变化情况,提出一些意见。并借助机器学习算法根据数据预测空气质量,以达到分析预测的典型大数据分析模式效果。

整体分析的流程图如下:

实验前的准备

1.1 数据获取

我们这里所得到的数据来源于网络公开的空气质量数据,数据来源于“天气后报”网站,网址为:http://www.tianqihoubao.com/aqi/tianjin.html。网址内容如下图可见:

图1-1 网址数据图

整个数据的获取使用python进行爬取。流程如下:

(1) 导入爬虫所需要的的库:

在air_tianjin_2019.py程序中。

其中Requests 是用Python语言编写,基于urllib,采用 Apache2 Licensed开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。

其中BeautifulSoup库是一个灵活又方便的网页解析库,处理高效,支持多种解析器。利用它就不用编写正则表达式也能方便的实现网页信息的抓取

对应代码如下:

importtime

importrequests

frombs4 importBeautifulSoup

(2)为了防止网站的反爬机制,我们设定模拟浏览器进行访问获取数据:

headers= { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}

(3)然后获取2019年全年的空气质量数据:

fori inrange( 1, 13):

time. sleep( 5)

url = 'http://www.tianqihoubao.com/aqi/tianjin-2019'+ str( "%02d"% i) + '.html'

response = requests. get(url=url, headers=headers)

soup = BeautifulSoup(response.text, 'html.parser')

tr = soup.find_all( 'tr')

1.2 数据预处理

如果仅仅是从网站上得到的数据会有一些标签等干扰项,我们针对一些标签进行去除即可:

forj intr[ 1:]:

td = j.find_all( 'td')

Date= td[ 0].get_text.strip

Quality_grade = td[ 1].get_text.strip

AQI = td[ 2].get_text.strip

AQI_rank = td[ 3].get_text.strip

PM = td[ 4].get_text

withopen( 'air_tianjin_2019.csv', 'a+', encoding= 'utf-8-sig') asf:

f.write( Date+ ','+ Quality_grade +

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值