没有合适的资源?快使用搜索试试~ 我知道了~
AQI(Air Quality Index)分析与预测
13 下载量 12 浏览量
2020-12-21
14:35:06
上传
评论 1
收藏 662KB PDF 举报
温馨提示
试读
13页
AQI(Air Quality Index)分析与预测 背景: 空气质量指数是用来衡量空气清洁或者污染的程度,值越小,表示空气质量越好;近年来,空气质量越来越受到人们的关注。 任务描述: 一、描述性统计 那些城市的空气质量较好/较差? 空气质量好坏在地理位置分布上,是否具有一定的规律? 二、推断统计 临海城市的空气质量是否优于内陆城市? 三、相关系数分析 空气质量主要受那些因素的影响? 四、区间估计 全国城市空气质量普遍处于那种水平? 五、统计建模 怎么样预测一个城市的空气质量? 现有数据: 2015年全国若干城市空气质量指数集data 特殊指标解析: AQI:空气质量指数 Altitude
资源详情
资源评论
资源推荐
AQI(Air Quality Index)分析与预测分析与预测
AQI(Air Quality Index)分析与预测分析与预测
背景:背景:
空气质量指数是用来衡量空气清洁或者污染的程度,值越小,表示空气质量越好;近年来,空气质量越来越受到人们的关注。
任务描述:任务描述:
一、描述性统计
那些城市的空气质量较好/较差?
空气质量好坏在地理位置分布上,是否具有一定的规律?
二、推断统计
临海城市的空气质量是否优于内陆城市?
三、相关系数分析
空气质量主要受那些因素的影响?
四、区间估计
全国城市空气质量普遍处于那种水平?
五、统计建模
怎么样预测一个城市的空气质量?
现有数据:现有数据:
2015年全国若干城市空气质量指数集data
特殊指标解析:
AQI:空气质量指数
Altitude:海拔高度
Precipitation:降雨量
Incineration(10,000ton):焚烧量(w吨)
Longitude/Latitude:经/纬度
分析部分分析部分
相关库与数据的导入相关库与数据的导入
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
import matplotlib as mpl
warnings.filterwarnings("ignore")
sns.set(style="darkgrid",font="SimHei",
rc={"axes.unicode_minus":False})#风格,字体,以及正常显示负号
data = pd.read_csv("C://Users//ganyu//Desktop//data.csv")
一、检查数据一、检查数据
1、检查缺失值、检查缺失值
data.isnull().sum(axis=0)
#data.info()
查看含缺失值列数据的分布
#print(data["Precipitation"].skew())#偏度
sns.distplot(data["Precipitation"].dropna())#要删除NA值才能做分布密度图
plt.title("分布密度图")
可以看出数据有点右偏
o 左偏分布(负偏态)中:mean(平均数)<median(中位数)<mode(众数)
o 右偏分布(正偏态)中:mode(众数)<median(中位数)<mean(平均数)
o 正态分布,mode(众数)= =median(中位数)== mean(平均数)
对缺失值进行中位数填充对缺失值进行中位数填充
data.fillna({"Precipitation":data["Precipitation"].median()},inplace=True)
2、异常值的处理、异常值的处理
检查异常值:检查异常值:
data.describe() 查看数据的描述:分位数、均值与标准差
基于正太分布 ±三个标准差涵盖99.7%的数据
箱线图(四分位距IQR=Q3-Q1,上下边界:Q3/Q1 ±1.5IQR)
检查三倍标准差外的数据检查三倍标准差外的数据
mean,std = data["AQI"].mean(),data["AQI"].std()
print("mean:%d"%mean)
print("std:%d"%std)
"""对数据进行过滤 正负三倍标准差之外的数据 理论很少"""
data["AQI"][(data["AQI"] mean + 3 * std)]
箱线图箱线图
"""绘制所有箱线图(建议分开作图,不同特征数值差异大,难看~~~)
客观存在的数据,异常值也是真实的数据,无需处理
"""
plt.figure(figsize=(16,7))
plt.xticks(rotation=45)
sns.boxplot(data=data)
统一用临界值替换异常值统一用临界值替换异常值
for i in data:
#对数据集的每列循环
#循环 的 i 是列名称
if pd.api.types.is_numeric_dtype(data[i]):
#判断是否是数值型数据
descr = data[i].describe()#描述性统计。
IQR = descr.loc["75%"] - descr.loc["25%"] upper = descr.loc["75%"] + 1.5 * IQR
lower = descr.loc["25%"] - 1.5 * IQR
#对异常值进行处理 。填充临界值
data[i][data1[i] upper] = upper
异常值处理结果异常值处理结果
3、重复值处理、重复值处理
"""查看重复值的数据行数 """
print(data1.duplicated().sum())
#查看重复的记录
# data1[data1.duplicated(keep=False)] #False指保留重复的值(保留那些值)
"""重复值的处理"""
data.drop_duplicates(inplace=True)
data.duplicated().sum()#去重后检查
二、分析二、分析
1、空气质量最好、空气质量最好/差的差的5个城市个城市
最好的最好的5个城市个城市
剩余12页未读,继续阅读
weixin_38696090
- 粉丝: 4
- 资源: 874
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0