2、某城市2021年2月空气质量数据存入文件aqi.csv,数据文件内容如表1所示。其中,质量等级有五类:优、良、轻度污染、中度污染和重度污染。按照提供的数据完成以下要求。 表1 某城市 2021 年空气质量指数的部分数据aqi.csv 日期 AQI 质量等级 PM2.5含量(ppm) PM10含量(ppm) SO2含量(ppm) CO含量(ppm) NO2含量(ppm) O3_8h含量(ppm) 2021/1/1 79 良 58 64 8 0.7 57 23 2021/1/2 112 轻度污染 84 73 10 1 71 7 2021/1/3 68 良 49 51 7 0.8 49 3 2021/1/4 90 良 67 57 7 1.2 53 18 2021/1/5 110 轻度污染 83 65 7 1 51 46 2021/1/6 65 良 47 58 6 1 43 6 2021/1/7 50 优 18 19 5 1.5 40 43 2021/1/8 69 良 50 49 7 0.9 39 45 2021/1/9 69 良 50 40 6 0.9 47 33 2021/1/10 57 良 34 28 5 0.8 45 21 (1)使用pyecharts工具包绘制空气质量等级单变量饼图。 (2)利用seaborn工具包求AQI与PM2.5、PM10、SO2、CO、NO2、O3_8h相关系数矩阵,并绘制热力图。
时间: 2023-06-25 17:08:29 浏览: 461
2015年-2021年最新全国328个城市的逐月月AQI数据,包含PM2.5、PM10、SO2、NO2、O3、CO六类大气污染物
5星 · 资源好评率100%
(1) 绘制空气质量等级单变量饼图
首先,需要读取aqi.csv文件中的数据并统计各个质量等级的数量。然后,使用pyecharts工具包绘制饼图。
以下是完整的代码:
```python
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Pie
# 读取数据
data = pd.read_csv('aqi.csv')
# 统计质量等级数量
aqi_counts = data['质量等级'].value_counts()
# 绘制饼图
pie = (
Pie()
.add("", [list(z) for z in zip(aqi_counts.index.tolist(), aqi_counts.values.tolist())])
.set_colors(['#99CCFF', '#99CC00', '#FFFF33', '#FF9900', '#FF6666'])
.set_global_opts(title_opts=opts.TitleOpts(title="空气质量等级分布图"))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
pie.render('aqi_pie.html')
```
运行代码后,会生成一个名为aqi_pie.html的文件,在浏览器中打开即可看到饼图。
(2) 计算AQI与PM2.5、PM10、SO2、CO、NO2、O3_8h的相关系数矩阵,并绘制热力图
使用seaborn工具包中的heatmap函数可以绘制热力图,但是需要先计算相关系数矩阵。因此,首先需要读取aqi.csv文件中的数据,并使用pandas工具包计算相关系数矩阵。
以下是完整的代码:
```python
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_csv('aqi.csv')
# 计算相关系数矩阵
corr_matrix = data[['AQI', 'PM2.5含量(ppm)', 'PM10含量(ppm)', 'SO2含量(ppm)', 'CO含量(ppm)', 'NO2含量(ppm)', 'O3_8h含量(ppm)']].corr()
# 绘制热力图
sns.heatmap(corr_matrix, cmap='coolwarm', annot=True, square=True, fmt='.2f')
plt.title('AQI与各项指标的相关系数矩阵')
plt.show()
```
运行代码后,会弹出一个窗口显示热力图。热力图中,颜色越深表示相关系数越高,颜色越浅表示相关系数越低。同时,每个单元格中的数字表示相关系数的大小。
阅读全文