用3-sigma原则处理DataFrame中的异常值
自定义的两个函数
定义一个对每一个特征(每一列)进行进行处理的函数,返回数值落在在(μ-3σ,μ+3σ)之外的行索引。只要有一个特征落在范围之外,则这一条样本被删除。
def three_sigma(Ser1):'''Ser1:表示传入DataFrame的某一列。'''rule = (Ser1.mean()-3*Ser1.std()>Ser1) | (Ser1.mean()+3*Ser1.std()< Ser1)index = np.arange(Ser1.shape[0])[rule]return index #返回落在3sigma之外的行索引值
对DataFrame的每一列分别调用three_sigma函数,删除有特征值落在(μ-3σ,μ+3σ)之外的所有样本。
def delete_out3sigma(data):'''data:待检测的DataFrame'''out_index = [] #保存要删除的行索引for i in range(data.shape[1]): # 对每一列分别用3sigma原则处理index = three_sigma(data.iloc[:,i])out_index += index.tolist()delete_ = list(set(out_index))print('所删除的行索引为:',delete_)data.drop(delete_,inplace=True)return data
用3-sigma原则处理DataFrame中的异常值相关推荐
- 正态分布中“sigma原则”,“2sigma原则”,“3sigma原则”
正态分布中"sigma原则","2sigma原则","3sigma原则" 正态分布3sigma原则 正态分布中的参数含义 正态分布3sigm ...
- 正态分布西格玛越大_正态分布中什么是1 sigma原则,2sigma原则,3sigma原则
sigma原则:数值分布636f707962616964757a686964616f31333431366431在(μ-σ,μ+σ)中的概率为0.6526: 2sigma原则:数值分布在(μ-2σ,μ ...
- 正态分布西格玛越大_正态分布中“sigma原则”,“2sigma原则”,“3sigma原则”分别是什么原则?...
展开全部 sigma原则:数值分布在(μ-σ,μ+σ)32313133353236313431303231363533e58685e5aeb931333431366431中的概率为0.6526: 2s ...
- dataframe 中的多层索引
1.生成两层行索引.列索引的样本数据 1)生成 DataFrame import pandas as pd import numpy as nppd.set_option('display.max_c ...
- pandas使用dropna函数删除dataframe中全是缺失值的数据列(drop columns with all missing values in dataframe)
pandas使用dropna函数删除dataframe中全是缺失值的数据列(drop columns with all missing values in dataframe) 目录
- pandas基于dataframe字符串数据列不包含特定字符串来筛选dataframe中的数据行(rows where values do not contain substring)
pandas基于dataframe字符串数据列不包含(not contains)特定字符串来筛选dataframe中的数据行(rows where values do not contain subs ...
- R语言ggplot2可视化:使用geom_line函数将dataframe中数据可视化为时间序列(或折线图)(Time Series Plot From a Data Frame)、添加标题、副标题
R语言ggplot2可视化:使用geom_line函数将dataframe中数据可视化为时间序列(或折线图)(Time Series Plot From a Data Frame).添加标题.副标题. ...
- pandas使用str函数和startswith函数,筛选dataframe中不是(not start with)以特定前缀开头的数据列(selecting columns)
pandas使用str函数和startswith函数,筛选dataframe中不是(not start with)以特定前缀开头的数据列(selecting columns not begin wit ...
- pandas索引复合索引dataframe数据、索引dataframe中指定行和指定列交叉格子的数据内容(getting a specific value)、使用元组tuple表达复合索引的指定行
pandas索引复合索引dataframe数据.索引dataframe中指定行和指定列交叉格子的数据内容(getting a specific value).使用元组tuple表达复合索引的指定行 目 ...
最新文章
- windows tensorrt python
- ax在c语言中意思啊,【数论】整理关于ax+by=c
- 使用任意数量的关键字实参
- java -PDF添加文本水印与图片水印
- python硬件交互_Python操作系统库说明,pythonos,笔记
- 跨语言RPC框架Thrift详解
- 解读:云原生下的可观察性发展方向
- 南理工计算机学院研究生课程的评价和反思(研一上)
- 单点登录多点注销shiro的简单实现
- WorkSbell第10周2017
- 8086微型计算机第五章接口,微机原理与接口技术课程论文.doc
- JVM垃圾回收机制详解
- GAC注册/卸载 dll
- 安卓结课作业 音乐播放器 视频播放 游戏 附带源码
- 华为鸿蒙是安卓9,鸿蒙“翻车”了?网友发现全新的鸿蒙系统居然是安卓9.0,华为骗我们?...
- 【54期】Java序列化三连问,是什么?为什么需要?如何实现?
- 计算几何(证明三角形内心公式: aOA+bOB+cOC = 0)
- 把你的阿里巴巴图标库转成你自己的@ant-design/icons
- Google文件系统(一)
- 基于web_socket_channel 实现弹幕通信