本文介绍如何使用pandas和openpyxl库在数据预处理时,通过箱线图检测并直观地标记出数据中的异常值。方法包括计算四分位数和IQR,然后根据这些统计信息为数据添加红色背景以标识异常。作者建议根据样本量和模型泛化考虑保留部分异常值。
摘要由CSDN通过智能技术生成
甚至有些极端异常值直接影响后续计算:
当我们面临数据量很大,而且需要加入人的主观意愿对数据异常进行删除或保留的时候,下面代码提供了一种简便直观的操作,可以直接在原始数据表中把异常值标记出来:
import pandas as pd
import openpyxl
from openpyxl.styles import PatternFill
# 读取CSV文件
file_path = r'输入你的工作路径\输入你的数据.csv'
df = pd.read_csv(file_path)
def highlight_outliers(val):
if float(val) < lower_bound or float(val) > upper_bound:
return 'background-color: red'
except:
return ''
# 定义函数来标记异常值
def highlight_outliers(s):
Q1 = s.quantile(0.25)
Q3 = s.quantile(0.75)
IQR = Q3 - Q1
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR
return ['background-color: red' if x < lower_bound or x > upper_bound else '' for x in s]
df_styled = df.style.apply(highlight_outliers, axis=0)
然后有“异常”的数据就直观地标在下面,可以根据自己的需求酌情筛选。但是,不是太离谱的数据可以酌情保留,一方面根据自己的样本量大小斟酌,另一方面可以提升模型的泛化能力。© 著作权归作者所有,转载或内容合作请联系作者。
异常值分析是检验数据是否有录入错误数据和不合常理的数据。不加剔除的把异常值代入数据分析过程中,会对结果产生不良影响,而对异常值的分析其原因,常常成为为发现问题的而改进决策的契机。
异常值是指样本中的个别值,其数值明显偏离其余的数据。异常值通常也称为离群点,所以异常值分析也叫做离群点分析。
异常值分析通常有以下几种:
(1)简单统计量分析
最常用的统计量是最大值和最小值,用来判断这个变量的取值是否超...
CSDN-Ada助手: