python查找Dataframe中每一列的异常值,并输出
时间: 2024-03-09 12:45:07 浏览: 69
可以使用以下代码来查找DataFrame中每一列的异常值:
```python
import pandas as pd
# 创建一个包含异常值的DataFrame
data = {'A': [1, 2, 3, 4, 5, 6],
'B': [2, 4, 6, 8, 10, 12],
'C': [3, 6, 9, 12, 15, 18],
'D': [4, 8, 16, 32, 64, 128],
'E': [1, 2, 3, 4, 5, 1000]}
df = pd.DataFrame(data)
# 定义一个函数来查找异常值
def find_outliers(column):
q1 = column.quantile(0.25)
q3 = column.quantile(0.75)
iqr = q3 - q1
outliers = column[(column < q1 - 1.5 * iqr) | (column > q3 + 1.5 * iqr)]
return outliers
# 对每一列应用函数并输出结果
for col in df.columns:
outliers = find_outliers(df[col])
if len(outliers) > 0:
print("Column {} has outliers: {}".format(col, outliers.tolist()))
else:
print("Column {} has no outliers".format(col))
```
该代码首先创建一个包含异常值的DataFrame,然后定义了一个函数 `find_outliers()` 来查找每一列的异常值。该函数使用四分位数和四分位距(IQR)来计算异常值,并返回一个包含异常值的Series对象。
接下来,对于每一列,我们都应用 `find_outliers()` 函数,并输出结果。如果该列中有异常值,则输出异常值的列表。否则,输出该列没有异常值。
阅读全文