tableau项目实战-中国五城市六年pm2.5大数据可视化

中国五城市六年pm2.5大数据可视化

一,典型课题研究

中国五城市六年的pm2.5的值与那些因素有关,与PM2.5的变化

二,数据

1,数据源:https://www.kaggle.com/uciml/pm25-data-for-five-chinese-cities

 

 

 

 2,数据集介绍

Context

PM2.5 readings are often included in air quality reports from environmental authorities and companies. PM2.5 refers to atmospheric particulate matter (PM) that have a diameter less than 2.5 micrometers. In other words, it's used as a measure of pollution.

PM2.5读数通常包含在环境部门和公司的空气质量报告中。PM2.5是指直径小于2.5微米的大气颗粒物(PM)。换句话说,它被用作污染的量度。

3,字段含义

  • No: row number 行号
  • year: year of data in this row 该行中数据的年份
  • month: month of data in this row 该行中数据的月份
  • day: day of data in this row 该行中数据的日期
  • hour: hour of data in this row 该行中的小时数据
  • season: season of data in this row 此行中的数据季节
  • PM: PM2.5 concentration (ug/m^3) PM2.5浓度(ug / m ^ 3)
  • DEWP: Dew Point (Celsius Degree) 露点(摄氏温度)
  • TEMP: Temperature (Celsius Degree) 温度(摄氏温度)
  • HUMI: Humidity (%) 湿度(%)
  • PRES: Pressure (hPa) 压力(hPa)
  • cbwd: Combined wind direction 组合风向
  • Iws: Cumulated wind speed (m/s) 累积风速(m / s)
  • precipitation: hourly precipitation (mm) 每小时降水量(毫米)
  • Iprec: Cumulated precipitation (mm) 累积降水量(毫米)

三,提出问题

①各城市PM2.5的分布并找出其规律

②各城市PM2.5收什么影响,影响程度如何

③各城市一年的PM2.5的分布主要集中在哪些时间段PM2.5的值比较高

四,操作步骤

1,从kaggle中导出数据,并对数据进行清洗

①把分开的时间字符串通过periodIndex的方法转化为pandas的时间类型

②把datetime 设置为索引

③进行降采样

④处理缺失数据,删除缺失数据

# coding=utf-8
import pandas as pd
from matplotlib import pyplot as plt

file_path = "./PM2.5/BeijingPM20100101_20151231.csv"

df = pd.read_csv(file_path)

# 把分开的时间字符串通过periodIndex的方法转化为pandas的时间类型
period = pd.PeriodIndex(year=df["year"], month=df["month"], day=df["day"], hour=df["hour"], freq="H")
df["datetime"] = period
# print(df.head(10))

# 把datetime 设置为索引
df.set_index("datetime", inplace=True)

# 进行降采样
df = df.resample("7D").mean()
print(df.head())
# 处理缺失数据,删除缺失数据
# print(df["PM_US Post"])

data = df["PM_US Post"]
data_china = df["PM_Nongzhanguan"]

print(data_china.head(100))
# 画图
_x = data.index
_x = [i.strftime("%Y%m%d") for i in _x]
_x_china = [i.strftime("%Y%m%d") for i in data_china.index]
print(len(_x_china), len(_x_china))
_y = data.values
_y_china = data_china.values
plt.figure(figsize=(20, 8), dpi=80)

plt.plot(range(len(_x)), _y, label="US_POST", alpha=0.7)
plt.plot(range(len(_x_china)), _y_china, label="CN_POST", alpha=0.7)

plt.xticks(range(0, len(_x_china), 10), list(_x_china)[::10], rotation=45)

plt.legend(loc="best")

plt.show()

 

2,打开tableau连接数据源新生成文件

 

 3,将城市转换为地理类型,并将经度纬度放入行和列中,将城市放入详细信息,三维PM2.5三个测点的平均值放入大小和颜色

  得出结论:北京空气质量最差,上海和广州空气质量最好,成都因地处四川盆地,工业污染难以被风吹散,空气质量较其它城市较差。

 

 4,将城市和季节拖到列中,行中拖入PM2.5三个测量点的评价值,并将城市拖入到颜色中,并对其进行排序

    得出结论:五个城市连续六年PM2.5大小在一年四季的分布,广州和上海的空气质量比较适宜

 5,将时间放入列中,行中放入PM2.5的平均值,一次新建表,时间选择年,季度,月份,和小时,依次放入一个仪表盘

    得出结论,PM2.5逐年计划和月份以及小时的变化

 

 6,将累计风速,PM2.5三个测点的平均值分别放入列和行,选择维度数据本身,去掉重复值,将城市放入筛选器,季节放入颜色,风向放入形状选择一个城市

    结论:通过可视化可以得出PM2.5与风速的关系,点击查看单个城市的情况,风速越大,PM2.5越低,比如北京,刮大风总是会刮西北风

 

 7,将风向放入列,三个点的平均值放入行中,城市放入筛选器,观察不同城市PM2.5大小与风向的关系

 

 8,观察降水量与PM2.5的多少,可以得出结论,降水量越大,PM2.5越低

 

 9,依次将大气压,相对湿度,温度等都会对其PM2.5的多少产生影响

 

 

 

 

posted @ 2020-05-14 00:01  bigbigbrid  阅读(2002)  评论(0编辑  收藏  举报