2020_City_Air_Quality_Index.csv中保存有2020年国内某城市某监测站点采集的空气质量监测数据。 请结合所学知识完成一下的数据分析及可视化问题 1)使用pandas读取CSV文件中的数据,创建 DataFrame对象,并删除其中所有缺失值; 2)使用 matplotib生成折线图,反映当日空气质量指数随时间的变化情况,并把图形保存为本地文件 today_AQIjpg; 3)按月份进行统计空气质量指数均值,使用 matplotib绘制柱状图显示每个月份的空气质量指数均值,并把图形保存为本地文件 average_AQI month.jpg; (4)按月份进行统计,找出相邻两个月空气质量指数均值的最大差值,并把差值最大的月份写入文件maxMonth.txt; (5)按照每14天为一个周期,统计自2020/1/1开始的五个周期内空气质量指数均值,使用matplotlib生成饼状图显示空气质量指数两周均值大小情况,并把图形保存为本地文件AQI_2weeks.jpg。
时间: 2023-06-12 07:07:12 浏览: 719
以下是代码实现及解释:
1. 使用 pandas 读取 CSV 文件中的数据,创建 DataFrame 对象,并删除其中所有缺失值:
```python
import pandas as pd
# 读取 CSV 文件
data = pd.read_csv('2020_City_Air_Quality_Index.csv')
# 删除所有缺失值
data.dropna(inplace=True)
```
2. 使用 matplotlib 生成折线图,反映当日空气质量指数随时间的变化情况,并把图形保存为本地文件 today_AQI.jpg:
```python
import matplotlib.pyplot as plt
# 获取日期和空气质量指数列
date = data['Date']
aqi = data['AQI']
# 创建画布和子图对象
fig, ax = plt.subplots()
# 绘制折线图
ax.plot(date, aqi)
# 设置横轴标签和标题
ax.set_xlabel('Date')
ax.set_title('Air Quality Index of Today')
# 保存图形
plt.savefig('today_AQI.jpg')
```
3. 按月份进行统计空气质量指数均值,使用 matplotlib 绘制柱状图显示每个月份的空气质量指数均值,并把图形保存为本地文件 average_AQI_month.jpg:
```python
# 将日期列转换为日期时间类型,并提取月份
data['Date'] = pd.to_datetime(data['Date'])
data['Month'] = data['Date'].dt.month
# 按月份计算空气质量指数均值
month_aqi_mean = data.groupby('Month')['AQI'].mean()
# 创建画布和子图对象
fig, ax = plt.subplots()
# 绘制柱状图
ax.bar(month_aqi_mean.index, month_aqi_mean.values)
# 设置横轴标签和标题
ax.set_xlabel('Month')
ax.set_title('Average Air Quality Index by Month')
# 保存图形
plt.savefig('average_AQI_month.jpg')
```
4. 按月份进行统计,找出相邻两个月空气质量指数均值的最大差值,并把差值最大的月份写入文件 maxMonth.txt:
```python
# 按月份计算空气质量指数均值
month_aqi_mean = data.groupby('Month')['AQI'].mean()
# 找出相邻两个月空气质量指数均值的最大差值
max_diff = max(abs(month_aqi_mean.diff(periods=1)))
# 找出差值最大的月份
max_month = month_aqi_mean.diff(periods=1).abs().idxmax()
# 将差值最大的月份写入文件 maxMonth.txt
with open('maxMonth.txt', 'w') as f:
f.write(str(max_month))
```
5. 按照每14天为一个周期,统计自2020/1/1开始的五个周期内空气质量指数均值,使用 matplotlib 生成饼状图显示空气质量指数两周均值大小情况,并把图形保存为本地文件 AQI_2weeks.jpg:
```python
# 将日期列转换为日期时间类型,并提取日期的天数
data['Date'] = pd.to_datetime(data['Date'])
data['Day'] = data['Date'].dt.day
# 按照每14天为一个周期,统计空气质量指数均值
aqi_2weeks_mean = []
for i in range(0, 70, 14):
aqi_2weeks_mean.append(data[(data['Day'] >= i+1) & (data['Day'] <= i+14)]['AQI'].mean())
# 创建画布和子图对象
fig, ax = plt.subplots()
# 绘制饼状图
ax.pie(aqi_2weeks_mean, labels=['2 Weeks 1', '2 Weeks 2', '2 Weeks 3', '2 Weeks 4', '2 Weeks 5'])
# 设置标题
ax.set_title('Air Quality Index by 2 Weeks')
# 保存图形
plt.savefig('AQI_2weeks.jpg')
```
阅读全文