1.介绍

环境空气质量标准的建立可以对环境空气质量管理、保护人类健康、维护生态环境安全、促进人、社会、自然和谐可持续发展起到积极作用。 1970年代,美国首先制定了环境空气指数标准。随后,世界各国也根据自己的空气质量状况建立了自己的空气质量指数发布系统,如中国的API(空气污染指数)和AQI(空气质量指数)。可见,空气质量指标标准的制定时间并不长。

目前,我国空气质量标准来源于环境保护部发布的《环境空气质量标准》(GB3095-2012)和《环境空气质量指数(AQI)技术规程(试行)》(HJ 633-2012)。从之前的3、5污染物到现在的6污染物标准,分别是:,如下:

表1 中国空气质量指数发展历程

2. AQI计算方法

如表1所示,空气质量指数分为24h平均指数、1h平均指数和8h平均指数,因此不同类型指标的计算方法也不同。实际上,我们常用的指标是24小时和1小时。气象平台通常发布的实时AQI数据是按照1hAQI标准计算的。 24小时AQI更能反映当天的整体空气质量。

先介绍一下AQI的计算方法,接下来介绍1hAQI和24hAQI的具体计算方法

图1 AQI计算方法及实例

但是,通过观察表1,我们可以发现1hAQI中只有4种污染物,是缺乏的。其实就是1h AQI的计算标准是按24h计算的,也就是直接用24h计算这两种污染物在1h内的IAQI按IAQI计算标准计算。

3. AQI 计算代码 (Python)

我们先展示1h的AQI计算代码。事实上,24h 的代码与 1h 的代码类似。我们只需要替换Idata。

将熊猫导入为 pd

将 numpy 导入为 np

导入 json

导入副本

如果 __name__ u003du003d '__main__':

"""这是1小时的AQI计算代码,24小时只需要替换Idata就可以了"""

过去 u003d [0, 50, 100, 150, 200, 300, 400, 500]

data u003d pd.read_json("D:\py\游戏数据处理\data\data4.json")

打印(圆形(2.50))

打印(类型(数据))

data1 u003d data.values

打印(类型(数据 1))

IAQI u003dlist(np.zeros(len(data1[0][0]["PM2.5"])))

打印((data1[0][0]).keys())

数据u003dnp.array([data1[0][0]["PM2.5"],data1[0][0]["PM10"],data1 [0][0]["SO2"],data1[0][0]["NO2"],data1[0][0][ "CO"],data1[0][0]["O3"]]).reshape(len(data1[0][0]["PM2.5" ]),6)

数据 u003d [

[0, 35, 75, 115, 150, 250, 350, 500], # PM2. 5. 24小时平均值

[0, 50, 150, 250, 350, 420, 500, 600], # (PM10) 24 小时平均值

[0,150,500,650,800],#bad

[0,100,200,700,1200,2340,3090,3840],#成熟

[0,5,10,35,60,90,120,150],#co

[0,160,200,300,400,800,1000,1200]#a

]

数据 u003d [

[0, 35, 75, 115, 150, 250, 350, 500] , # PM2.5

[0, 50, 150, 250, 350, 420, 500, 600], # (PM10)

#[0, 50,150,475,800,1600,2100,2620], #(坏)

[0,40,80,180,280,565,750,940],

[0, 2,4,14,24,36,48,60], # (CO)

#[0, 100,160,215,265,800] # (A)

]

#以上是24hAQI计算所需的Idata

T_IAu003d0

iu003dju003dku003d0

打印(长度(日期))

对于我在范围内(len(Idata)):

T_datau003d数据[:,i]

T_Idatau003dIdata[i]

对于范围内的 j (len(T_data)):

对于范围内的 k (1,len(T_Idata)):

如果 T_Idata[k]>T_data[j]:

休息

如果 ku003du003d(len(T_Idata)-1) 和 T_Idata[k]<T_data[j]:

T_IAu003dT_Idata[k]

其他:

T_IAu003dint(round((((qua[k]-qua[k-1])/(T_Idata[k]-T_Idata[k-1]) )*(T_data[j]-T_Idata[k-1])+qua[k-1])+0.5))

如果 T_IA>IAQI[j]:

IAQI[j]u003dT_IA

data1\[0\]\[0\]\["AQI"\]u003d(I AQI)

data2u003dcopy.deepcopy(data1[0][0]['日期'])

data1[0][0].pop("日期")

数据1[0][0][“日期”]u003d数据2

文件名u003d"D:\py\游戏数据处理\data\IAdata4.json"

丁u003d{}

Dic["air_data"]u003ddata1[0].tolist()

使用 open(filename, 'w') 作为文件_obj:

json.dump(Dic,文件_obj)

4.跟进

怎样才能更直观地将AQI换算成空气质量等级

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐