1、数据分析的基本流程
- 明确需求和目的
- 数据收集(内部数据、购买数据、爬取数据、调查问卷、其它收集)
- 数据预处理(数据整合、数据清洗、数据转换等)
- 数据分析(描述分析、推断分析、数据建模、数据可视化等)
- 编写报告
2、明确需求和目的
- AQI:空气质量指数,用来衡量空气清洁或污染的程度,值越小,表示空气质量越好。
2.1 需求和目的
运用数据分析的相关技术,对全国城市空气质量进行研究和分析,解决以下问题:
- 哪些城市的空气质量较好/较差?(描述性统计分析)
- 对城市的空气质量按照如下等级划分,每个等级城市数量分布情况如何?(描述性统计分析)
- 空气质量在地理位置分布上,是否具有一定的规律性?(描述性统计分析)
- 临海城市的空气质量是否有别于内陆城市?(推断统计分析)
- 全国城市空气质量普遍处于何种水平?(推断统计分析)
- 空气质量主要受哪些因素影响?(相关系数分析)
3、数据收集
- 2015年空气质量指数(AQI)数据集,该数据集包含全国主要城市的相关数据以及空气质量指数。
4、数据预处理
4.1 数据整合
4.1.1 加载相关库和数据集
- 使用的库主要有:pandas、numpy、matplotlib、seaborn
- 使用的数据集:2015年空气质量指数(AQI)数据集
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
sns.set(style="darkgrid")
plt.rcParams["font.family"] = "SimHei" # 设置可以显示中文字体
plt.rcParams["axes.unicode_minus"] = False
warnings.filterwarnings("ignore") # 忽略警告信息
data = pd.read_csv("AQI_data.csv")
4.1.2 数据总体概览
print(data.info()) # 展示data的概览信息
print(data.describe()) # 展示data 数值类型字段的统计信息
print(data.sample(5)) # 随机抽样10条数据
4.2 数据清洗
4.2.1 缺失值的处理
查看缺失值:
- data.info()
- data.isnull()
data.isnull().sum(axis=0) # 查看缺失值
-----------------------------------------
City 0
AQI 0
Precipitation 4
GDP 0
Temperature 0
Longitude 0
Latitude 0
Altitude 0
PopulationDensity 0
Coastal 0
GreenCoverageRate 0
Incineration(10,000ton) 0
dtype: int64
缺失值处理方式:
- 删除缺失值(仅仅适合缺失数量较少的情况)
- 填充缺失值(数值变量使用均值或中位数进行填充,类别变量使用众数填充或单独作为一个类别)
- 缺失值小于20%,直接填充。
- 缺失值在20%-80%之间,填充变量后,同时增加一列,标记该列是否缺失,参与后续建模。
- 缺失值大于80%,不使用原始列,而是增加一列,标记该列是否缺失,参与后续建模。
从上面可以看出,"Precipitation"存在4个缺失值,数量较少,可以直接使用中位数进行填充:
data.fillna({
"Precipitation": data["Precipitation"].median()