Python数据分析 知识量:13 - 56 - 232
异常值就是根据需要预设的数据规则来判断,超出了合理范围的值。判断标准根据不同的任务来确定,例如:对于某次考试,3科平均分少于60就是异常值,下面是具体示例:
import pandas as pd df=pd.read_excel(r"D:\PythonTestFile\exam.xlsx") df['check']=(df['Chinese']+df['English']+df['Math'])/3<60 print(df)
运行结果为:
Name Sex Chinese English Math check 0 Noah male 90 50 66 False 1 Emma female 56 56 55 True 2 Noah male 90 50 66 False 3 Olivia female 86 87 44 False 4 Liam male 55 88 69 False 5 Sophia female 90 66 96 False 6 Liam male 55 88 69 False 7 Isabella female 66 85 55 False
在DataFrame对象中增加列check,用于检测3科平均分是否小于60,如果是就会标记为True。
对异常值的处理可以采取删除、填充、单独提取分析等方式。其中,删除操作与处理缺失值和重复值时基本一样。单独提取涉及数据的选择,将在后续部分介绍。
对于异常值的填充(替换)可以使用函数replace(to_replace, value) :
to_replace 表示需要替换的值。
value 表示替换后的值。
import pandas as pd df=pd.read_excel(r"D:\PythonTestFile\exam.xlsx") df['check']=(df['Chinese']+df['English']+df['Math'])/3<60 print(df.replace(True,'B'),'\n') # 替换单个数值 print(df.replace({True:'B',False:'A'})) # 替换多个数值,使用字典传递参数
运行结果为:
Name Sex Chinese English Math check 0 Noah male 90 50 66 False 1 Emma female 56 56 55 B 2 Noah male 90 50 66 False 3 Olivia female 86 87 44 False 4 Liam male 55 88 69 False 5 Sophia female 90 66 96 False 6 Liam male 55 88 69 False 7 Isabella female 66 85 55 False Name Sex Chinese English Math check 0 Noah male 90 50 66 A 1 Emma female 56 56 55 B 2 Noah male 90 50 66 A 3 Olivia female 86 87 44 A 4 Liam male 55 88 69 A 5 Sophia female 90 66 96 A 6 Liam male 55 88 69 A 7 Isabella female 66 85 55 A
replace()函数默认情况下不会改变原数据对象,可以设置参数inplace=True来使替换对原数据对象生效,即改变原数据对象。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6