栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python数据清洗小案例giao

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python数据清洗小案例giao

python 数据清洗小案例giao
前言

这篇通过一个小案例 简单介绍几个python 数据清洗分析的常用方法

数据准备:
链接:https://pan.baidu.com/s/1M5xUdB1_8vZBd4VAkszuAQ
提取码:giao

1.数据读取和透视表的创建:

#对数据进行转置,转置后行为用户编号,列为日期,值为每用电量
data=pd.read_csv('data_etr.csv',parse_dates=['DATA_DATE'],encoding='gbk')
data.head()
data_new=pd.pivot_table(data=data,values='KWH',index='CONS_NO',columns='DATA_DATE')

2.对数据中的异常值进行识别和处理

def clear_(x=None):
QL=x.quantile(0.25)#下四分位数
QU=x.quantile(0.75)#上四分位数
IQR=QU-QL
x[((x>QU+1.5*IQR)|(x 

3.统计每个用户用电数据的基本统计量,包括:最大值、最小值、均值、中位数、和、方差、偏度、峰度。

feature1=data_new.T.agg(['max','min','mean','median','sum','var','skew','kurt'],axis=0).T

4.每个用户用电数据按日差分,并求取差分结果的基本统计量,统计量同3

feature2=data_new.T.diff(axis=1).agg(['max','min','mean','median','sum','var','skew','kurt'],axis=0).T

5…求取每个用户的5%分位数。

feature3=data_new.quantile(0.05,axis=1)

6.每个用户按周求和并差分(一周7天,年度分开),并求取差分结果的基本统计量,统计量同3。

data_new.columns.week
feature4=(data_new.T.resample('W').sum()).T.diff(axis=1).T.agg(['max','min','mean','median','sum','var','skew','kurt'],axis=0).T

7.统计每个用户的日用电量在其最大值0.9倍以上的次数。

feature5=data_new.apply(lambda x:sum(x>x.max()*0.9),axis=1)

8.求取每个用户日为最大值/最小值的索引月份,若最大值/最小值存在于多个月份中,则输出含有最大值/最小值最多的那个月份。如1号用户的最小值为0,12个月每个月都有0,则看哪个月的0最多。

feature6=data_new.apply(lambda x: x==x.min(),axis=1).groupby(by=data_new.columns.month,axis=1).sum().idxmax(axis=1) #最小值

feature7=data_new.apply(lambda x: x==x.max(),axis=1).groupby(by=data_new.columns.month,axis=1).sum().idxmax(axis=1) #最大值

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/341229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号