首先导入库和读取文件

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']))]

在这里插入图片描述


版权声明:本文为weixin_44227356原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_44227356/article/details/120685712