GewisLab/CN-AIR
数据集数据集查看器文件和版本Pull Requests讨论
下载使用量0

CN-AIR: China Air Quality Historical Dataset

项目介绍

CN-AIR 是一个包含中国空气质量历史数据的开源数据集,覆盖全国主要城市和监测站点的空气质量指标。

数据说明

时间范围

  • 城市级数据:2014-05-13 至 2026-04-23
  • 站点级数据:2014-05-13 至 2026-04-23

数据类型

  • AQI:空气质量指数
  • PM2.5:细颗粒物
  • PM10:可吸入颗粒物
  • SO2:二氧化硫
  • NO2:二氧化氮
  • O3:臭氧
  • CO:一氧化碳

数据来源

  • 数据来源于中国环境监测总站(CNEMC)
  • 数据由 quotsoft.net 整理提供

目录结构

.
├── 城市_20140513-20141231/      # 2014年城市数据
├── 城市_20150101-20151231/      # 2015年城市数据
├── 城市_20160101-20161231/      # 2016年城市数据
├── 城市_20170101-20171231/      # 2017年城市数据
├── 城市_20180101-20181231/      # 2018年城市数据
├── 城市_20190101-20191231/      # 2019年城市数据
├── 城市_20200101-20201231/      # 2020年城市数据
├── 城市_20210101-20211231/      # 2021年城市数据
├── 城市_20220101-20221231/      # 2022年城市数据
├── 城市_20230101-20231231/      # 2023年城市数据
├── 城市_20240101-20241231/      # 2024年城市数据
├── 城市_20250101-20251231/      # 2025年城市数据
├── 城市_20260101-20260418/      # 2026年城市数据
├── 站点_20140513-20141231/      # 2014年站点数据
├── 站点_20150101-20151231/      # 2015年站点数据
├── 站点_20160101-20161231/      # 2016年站点数据
├── 站点_20170101-20171231/      # 2017年站点数据
├── 站点_20180101-20181231/      # 2018年站点数据
├── 站点_20190101-20191231/      # 2019年站点数据
├── 站点_20200101-20201231/      # 2020年站点数据
├── 站点_20210101-20211231/      # 2021年站点数据
├── 站点_20220101-20221231/      # 2022年站点数据
├── 站点_20230101-20231231/      # 2023年站点数据
├── 站点_20240101-20241231/      # 2024年站点数据
├── 站点_20250101-20251231/      # 2025年站点数据
├── 站点_20260101-20260418/      # 2026年站点数据
├── .gitignore                  # Git忽略文件
├── .gitattributes              # Git LFS配置
└── README.md                   # 项目说明

如何使用

1. 安装 Git LFS

如果未安装 Git LFS(Large File Storage),请先执行:

git lfs install

2. 克隆仓库

git clone https://atomgit.com/GewisLab/CN-AIR.git
cd CN-AIR

3. 安装依赖

pip install pandas pyarrow

4. 读取城市级数据

import pandas as pd

# 读取单文件
df = pd.read_csv('城市_20240101-20241231/城市_20240101-20241231/china_cities_20240101.csv')

# 读取合并后的Parquet(如果有)
df = pd.read_parquet('china_cities_combined.parquet')

5. 数据格式说明

CSV文件格式:

date,hour,type,北京,天津,石家庄,...
20240101,0,AQI,54,57,85,...
20240101,0,PM2.5,21,25,42,...
20240101,0,PM10,47,52,78,...
...

字段说明:

  • date:日期(YYYYMMDD格式)
  • hour:小时(0-23)
  • type:数据类型(AQI、PM2.5、PM10、SO2、NO2、O3、CO)
  • 后续列:各城市的对应值

数据处理

转换为长格式

import pandas as pd

# 读取数据
df = pd.read_csv('城市_20240101-20241231/城市_20240101-20241231/china_cities_20240101.csv')

# 转换为长格式
df_long = df.melt(
    id_vars=['date', 'hour', 'type'],
    var_name='city',
    value_name='value'
)

print(df_long.head())

合并多年数据

import pandas as pd
import glob

# 读取所有城市数据文件
files = glob.glob('城市_*/城市_*/*.csv')
dfs = []

for file in files:
    try:
        df = pd.read_csv(file)
        dfs.append(df)
    except Exception:
        pass

# 合并所有数据
combined = pd.concat(dfs, ignore_index=True)

# 保存为Parquet
combined.to_parquet('china_cities_combined.parquet', engine='pyarrow', compression='snappy')

许可证

本项目采用 MIT 许可证。

免责声明

数据仅供研究和参考使用,请勿用于商业用途。数据可能存在缺失或误差,使用时请自行验证。

联系方式

  • 项目地址:https://atomgit.com/GewisLab/CN-AIR
  • 数据来源:https://quotsoft.net/air/