异常值处理、重复值处理
异常值处理
有关异常值的确定有很多种规则和方法,这里使用Z标准化得到的阈值作为判断标准:当标准化后的得分超过阈值则为异常。完整代码如下:
注:代码用 jupyter notebook跑的,分割线线上为代码,分割线下为运行结果
import pandas as pd
#生成异常数据
df=pd.DataFrame({'col1':[1,120,3,5,2,12,13],'col2':[12,17,31,53,22,32,43]})# col1 col2# 0 1 12# 1 120 17# 2 3 31# 3 5 53# 4 2 22# 5 12 32# 6 13 43#通过z-score方法判断异常值
df_zscore=df.copy()#复制一个用来存储z-score得分的数据框
cols=df.columns #获得数据框的列名
for col in cols:df_col=df[col] #得到每列的值z_score=(df_col-df_col.mean())/df_col.std() #计算每列的z-score得分df_zscore[col]=z_score.abs()>2.2 #判断z-score得分是否大于2.2,如果是则为True,否则为False
print(df_zscore)------------------------------------------------------------------------------------------col1 col2
0 False False
1 True False
2 False False
3 False False
4 False False
5 False False
6 False False
阈值的设定是确定异常与否的关键,通常当阈值大于2时,已经是相对异常的表现值。
重复值处理
有关重复值的处理代码示例如下:
import pandas as pd
#生成重复数据
data1=['a',3]
data2=['b',2]
data3=['a',3]
data4=['c',2]
df=pd.DataFrame([data1,data2,data3,data4],columns=['col1','col2'])
#判断重复数据
isDuplicated=df.duplicated() #判断重复数据记录
print(isDuplicated)--------------------------------------------------------------------------------0 False
1 False
2 True
3 False
dtype: bool
#删除重复值
new_df1=df.drop_duplicates() #删除数据记录纸所有列值相同的记录
new_df2=df.drop_duplicates(['col1']) #删除数据记录中col1值相同的记录
new_df3=df.drop_duplicates(['col2']) #删除数据记录中col2值相同的记录
new_df4=df.drop_duplicates(['col1','col2']) #删除数据记录中指定列(col1/col2)值相同的记录print(new_df1)
print(new_df2)
print(new_df3)
print(new_df4)-----------------------------------------------------------------------------------col1 col2
0 a 3
1 b 2
3 c 2col1 col2
0 a 3
1 b 2
3 c 2col1 col2
0 a 3
1 b 2col1 col2
0 a 3
1 b 2
3 c 2
异常值处理、重复值处理相关推荐
- 一文看懂数据清洗:缺失值、异常值和重复值的处理
https://www.toutiao.com/a6711212131125035534/ 导读:在数据清洗过程中,主要处理的是缺失值.异常值和重复值.所谓清洗,是对数据集通过丢弃.填充.替换.去重等 ...
- 机器学习之数据预处理——数据清洗(缺失值、异常值和重复值的处理)
机器学习之数据预处理--数据清洗缺失值.异常值和重复值的处理 基础知识 技术点总结 数据列缺失的处理方法 1.丢弃(缺失值处理) 1.生成一份随机数据 2.查看哪些值缺失 3.获得含有NA的列 4.获 ...
- [Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念]
前言 系列文章目录 [Python]目录 视频及资料和课件 链接:https://pan.baidu.com/s/1LCv_qyWslwB-MYw56fjbDg?pwd=1234 提取码:1234 文 ...
- 数据清洗 - 缺失值,异常值,重复值处理
数据清洗 数据清洗的对象就是缺失值,重复值,异常值 一 重复值的处理一般用删除法,但是在业务上有意义的重复值不能删除import numpy as np import pandas as pd imp ...
- 数据清洗:缺失值,异常值和重复值的处理
在数据清洗过程中,主要处理的是缺失值,异常值和重复值.所谓清洗,是对数据进行丢弃,填充,替换,去重等操作,实现去除异常,纠正错误,补足缺失的目的. 1. 数据列缺失的4种处理方法 数据缺失分为2种 ...
- pandas数据清洗(缺失值、异常值和重复值处理)
1. 缺失值处理 处理方式: 直接删除 填充缺失值 真值转换法 不处理 ( 数据分析和建模应用中很多模型对于缺失值有容忍度或灵活的处理方法,因此在预处理阶段可以不做处理.常见的能够自动处理缺失值的模 ...
- pandas笔记(3)——DataFrame数据查看,缺失值,异常值,重复值预处理
数据情况查看 预览数据前n行 Python中预览数据可以使用head()函数,该函数默认展示前5行. # 查看数据前2行 df.head(2) 查看数据末尾n行 可以使用tail()函数,查看数据末尾 ...
- 一文看懂数据清洗:缺失值、异常值和重复值的处理
01 数据列缺失的4种处理方法 数据缺失分为两种:一种是行记录的缺失,这种情况又称数据记录丢失:另一种是数据列值的缺失,即由于各种原因导致的数据记录中某些列的值空缺. 不同的数据存储和环境中对于缺失 ...
- python-数据分析-(12)pandas数据清洗、缺失值、重复值、异常值处理常见方法
一.导入模块 import pandas as pd from scipy.interpolate import interp1d 二.读取excel文件 data=pd.read_excel(r'E ...
- Python中数据清洗缺失值,重复值和异常值的处理
1 缺失值的处理 1.1 常规缺失值的处理 np.nan,NaN,None,NaT(时间数据类型的缺失值)等 df.isnull() 1.判断每一个df中的数据是否为缺失值,是则返回True,否则返回 ...
最新文章
- Ubuntu下添加新分区并设置挂载点
- VTK:PolyData之PointNormals
- servlet基础_Servlet基础
- opencv新手注意
- netty解决方法 io.netty.util.IllegalReferenceCountException: refCnt: 0, increment: 1
- virtualbox centos安装增强工具
- Html 5 Input type=range 滑动条
- 微信小程序|基于小程序+C#实现聊天功能
- php TCPDF 生成pdf文件
- 7. Java8新特性-并行数据处理(parallel)
- 图解 Android 事件分发机制
- CDMA 短信中心号码
- 【“笨办法”学Python】27.记住逻辑关系——布尔逻辑表达式
- 叮当健康明日港股上市:拟募资3.4亿港元 单季期内亏损4亿
- matlab三相异步电动机仿真,三相异步电动机的MATLAB仿真研究
- 肾内科护理 100326
- 如何搭建个人简历网站
- java (基础、框架)思维脑图
- 遇到《顺丰速运》app奔溃了,怎么回事呢?
- 长庆企业信息化管理课件_长庆油田信息化建设的现状及需要注意的问题