中國五城市六年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的多少產生影響