pandas的isin()函数对异常值所在行的处理

本文介绍了如何在Python的pandas库中使用isin()函数来筛选和删除异常值所在的行。首先,文章讲解了如何单列筛选异常值,接着展示了如何根据多个列同时满足条件来筛选异常值行,包括筛选每列都有异常值的行和至少一列有异常值的行。最后,文章详细说明了如何通过布尔操作删除这些异常值行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pandas的isin函数对异常值所在行的处理

        • 首先导入库和读取文件
        • 筛选出异常值所在行
          • 单列筛选
          • 多列筛选(同时满足用&连接,或的话用 | 连接)
        • 删除异常值所在行

首先导入库和读取文件
import pandas as pd
df = pd.read_csv('german_clean.csv',header=0)

在这里插入图片描述

筛选出异常值所在行
单列筛选
# df[df[列名].isin([异常值])]
# df[列名].isin([异常值])对当前列中存在异常值的行会返回True,不存在的返回False
# 假设checking_status列中异常值为A11
df[df['checking_status'].isin(['A11'])]

在这里插入图片描述
异常值可以是多个,如

df[df['checking_status'].isin(['A11','A12'])]
多列筛选(同时满足用&连接,或的话用 | 连接)
  • 筛选出每列都有异常值的行
# df[df[列名].isin([异常值])& df[列名].isin([异常值])]
df[df['checking_status'].isin(['A11','A12'])&df['purpose'].isin(['A43'])]

在这里插入图片描述

  • 筛选出至少有一列有异常值的行
# df[df[列名].isin([异常值])| df[列名].isin([异常值])]
df[df['checking_status'].isin(['A11','A12'])|df['purpose'].isin(['A43'])]

删除异常值所在行

因为isin()返还的是boolean的DataFrame,在里面的是True,不在里面的是False,所以我们只需要对它进行异或取反即可。

# df[True^df[列名].isin([异常值])]
df[True^df['checking_status'].isin(['A11'])]

在这里插入图片描述
同理,多行删除只需要套个括号将其视为整体再取反即可

df[True^(df['checking_status'].isin(['A11','A12'])|df['purpose'].isin(['A43']))]
df[True^(df['checking_status'].isin(['A11','A12'])&df['purpose'].isin(['A43']))]

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想上天的狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值