Pandas数据分析实战01

Pandas数据分析实战01

要求

绘制"北京", “成都”, “广州”, “上海”, "沈阳"五个城市,从2010年1月至2015年12月的PM2.5环境质量变化情况

数据下载

PM2.5数据下载

代码实现

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] 
plt.rcParams['axes.unicode_minus'] = False

# 用pandas读取csv文件
# 设定城市名称
cities = ["Beijing", "Chengdu","Guangzhou", "Shanghai", "Shenyang"]
# 设定文件名称
file_name = [city + "PM20100101_20151231.csv" for city in cities]
# 设定文件路径
file_path = "D:\\Coding\\Python\\LogicCoding\\Data Analyze\\PM2.5\\"
# 用df_pm保存文件读取结果
df_pm = pd.DataFrame()
for i in range(len(file_name)):
    # 用切片的方式取出关键数据
    df = pd.read_csv(file_path+file_name[i]).loc[:,["year","month","day","hour","PM_US Post"]]
    # 在df中添加一列城市,作为分组依据
    df["city"] = cities[i]
    # 使用concat()方法拼接
    df_pm = pd.concat([df_pm, df])
df_pm.head()

在这里插入图片描述

# 在df_pm中,将年月日小时凭借成时间段索引,同时增加一列timeStamp
df_pm["timeStamp"] = pd.PeriodIndex(year = df_pm["year"], month = df_pm["month"],
                        day = df_pm["day"], hour = df_pm["hour"],freq = "H")
df_pm.head()

在这里插入图片描述

# 将df_pm["timeStamp"]设置为时间索引
df_pm.set_index("timeStamp", inplace=True)
df_pm.head()

在这里插入图片描述

# 定义一个绘制折线图的函数
def draw_plot(x, y, c, m):  
    plt.plot(range(len(x)),y,color=c,marker=m)
    # 将时间序列格式化
    x = [i.strftime("%Y-%m-%d") for i in x]
    # 设置刻度标签,为避免过于密集,进行切片,步长为10
    plt.xticks(range(0,len(x),10),list(x)[::10],rotation=45)
# 取得各个城市的x, y坐标点
pm = []
for city in cities:
	# 使用布尔索引取出每个城市的数据
    df_city = df_pm[df_pm["city"] == city]
    # 以月度为单位降采样,求均值
    df_city = df_city.resample("M").mean()
    # PM2.5的值对应PM_US Post 这一列
    pm_data = df_city["PM_US Post"]
    x, y = pm_data.index, pm_data.values
    pm.append((x, y))
# 准备绘图
colors = ['r', 'g' ,'b', 'm', 'c']        # 设置线的颜色
markers =  ['>', '<' ,'^', 'v', 'o']      # 标记样式
plt.figure(figsize=(14,9))
for i in range(len(cities)):
    draw_plot(pm[i][0],pm[i][1],colors[i],markers[i])
plt.legend(["北京", "成都", "广州", "上海", "沈阳"])
plt.show()

在这里插入图片描述
大概观察一下,结论如下:
1,每年的秋冬季节是环境质量较差的,因为冬天比较干燥,气温较低,气压较高,空气中的污染物容易聚集不易驱散;
2,总体来说,除了沈阳,各个城市的PM2.5在逐步下降;
3,北方城市污染比南方城市要严重许多,应该跟地理环境和重工业分布情况相关;
4,空气污染跟城市发达情况关联不大,比如沈阳,经济一般,但是污染严重;
广州经济比较发达,人口众多,但是污染度远小于北京。
5,除北京外,其他城市的数据缺失较为严重。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清弦墨客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值