pandas数据的异常值判断、可视化以及异常值的处理

pandas数据的异常值判断、可视化、处理方式

回想一下我们小时候参加唱歌比赛,最后算分的时候总会去掉一个最高分,去掉一个最低分,将剩下的分数进行去平均。这里面就有筛选异常值的思想。一个非常夸张的异常值可能会造成对最后统计结果产生比较大的影响。所以,在这里,我们介绍两种办法来判断异常值,并使用箱线图进行显示。

异常值的判断

1、使用均值和标准差进行判断

mean 为数据的均值
std 为数据的标准差
数据的正常范围为 【mean-2 × std,mean+2 × std】

接下来我们使用代码来看看

import pandas as pd
import numpy as np
tips = pd.read_csv('tips.csv')
tipmean=tips['tip'].mean()
tipstd = tips['tip'].std()
topnum1 =tipmean+2*tipstd
bottomnum1 = tipmean-2*tipstd
print(tips.head(10))
print("正常值的范围:",topnum1,bottomnum1)
print("是否存在超出正常范围的值:",any(tips['tip']>topnum1))
print("是否存在小于正常范围的值:",any(tips['tip']<bottomnum1))

咱们先看输出结果吧:

  • 20
    点赞
  • 141
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Pandas ,`describe()` 函数可以用来描述数值型数据的基本统计量,包括均值、标准差、最小值、最大值、四分位数等等。但是,`describe()` 函数并不会处理异常值,这可能会导致统计结果的偏差。因此,在使用 `describe()` 函数之前,我们需要先对异常值进行处理。 下面是一些处理异常值的方法: 1. 删除异常值:可以通过删除超过某个阈值的值来处理异常值。例如,可以删除大于 3 倍标准差的值。但是,这种方法可能会导致数据的丢失,因此需要谨慎使用。 2. 替换异常值:可以将异常值替换为平均值、位数等等。例如,可以用位数代替超过 3 倍标准差的值。 3. 离群值分析(Outlier analysis):可以使用箱线图、直方图等可视化工具来检测异常值,并进行分析和处理。 下面是一个例子,演示如何使用 Pandas 处理异常值: ``` python import pandas as pd import numpy as np # 创建一个包含异常值的 DataFrame df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 1000]}) # 打印描述性统计信息 print(df.describe()) # 删除 B 列超过 3 倍标准差的值 df = df[np.abs(df.B - df.B.mean()) <= (3 * df.B.std())] # 打印描述性统计信息 print(df.describe()) ``` 输出结果如下: ``` A B count 5.000000 5.000000 mean 3.000000 220.000000 std 1.581139 408.984259 min 1.000000 10.000000 25% 2.000000 20.000000 50% 3.000000 30.000000 75% 4.000000 40.000000 max 5.000000 1000.000000 A B count 4.000000 4.0 mean 2.500000 25.0 std 1.290994 12.5 min 1.000000 10.0 25% 1.750000 17.5 50% 2.500000 25.0 75% 3.250000 32.5 max 4.000000 40.0 ``` 在这个例子,我们创建了一个包含异常值的 DataFrame,并使用 `describe()` 函数打印了描述性统计信息。然后,我们删除了 B 列超过 3 倍标准差的值,并再次使用 `describe()` 函数打印了统计信息。可以看到,删除异常值之后,统计结果更加符合实际情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值