python查找Dataframe中每一列的异常值
时间: 2024-03-09 12:44:48 浏览: 81
可以使用 Pandas 库中的 describe() 方法和 boxplot() 方法来查找 DataFrame 中每一列的异常值。
describe() 方法可以用来计算 DataFrame 的统计信息,包括均值、标准差、最小值、最大值以及四分位数等。通过查看这些统计信息,可以检查是否存在异常值。
boxplot() 方法可以用来绘制 DataFrame 中每一列的箱线图。箱线图可以帮助你识别出数据中的异常值。在箱线图中,异常值通常被定义为小于 Q1 - 1.5IQR 或大于 Q3 + 1.5IQR 的值,其中 Q1 和 Q3 分别是数据的第一和第三四分位数,IQR 是四分位距。
下面是一个例子,演示如何使用 describe() 方法和 boxplot() 方法来查找 DataFrame 中每一列的异常值:
```
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 创建一个包含异常值的 DataFrame
df = pd.DataFrame({'A': np.random.normal(0, 1, 100),
'B': np.random.normal(0, 1, 100),
'C': np.random.normal(0, 1, 100)})
df.iloc[0, 0] = 100 # 添加一个异常值
# 使用 describe() 方法查找异常值
print(df.describe())
# 使用 boxplot() 方法查找异常值
df.boxplot()
plt.show()
```
在这个例子中,我们创建了一个包含异常值的 DataFrame,然后使用 describe() 方法和 boxplot() 方法查找每一列的异常值。由于我们手动添加了一个异常值,因此 `df.describe()` 方法会显示出 A 列的最大值为 100。在 boxplot() 图中,我们可以看到 A 列的异常值明显超过了箱子的顶部和底部,而 B 列和 C 列则没有异常值。
阅读全文