Pandas实战100例 | 案例 26: 检测异常值

案例 26: 检测异常值

知识点讲解

在数据分析中,检测和处理异常值(或离群值)是一个重要的步骤。异常值可能会影响数据的整体分析。一种常用的方法是使用四分位数和四分位数间距(IQR)来识别异常值。

  • 四分位数和 IQR: 第一四分位数(Q1)是数据中所有数值的 25% 分位数,第三四分位数(Q3)是 75% 分位数。IQR 是 Q3 和 Q1 的差。通常,超出 Q1 - 1.5 * IQR 或 Q3 + 1.5 * IQR 的值被认为是异常值。
示例代码
# 准备数据和示例代码的运行结果,用于案例 26

# 示例数据
data_outlier_detection = {
    'Values': [10, 12, 12, 14, 15, 15, 100]
}
df_outlier_detection = pd.DataFrame(data_outlier_detection)

# 检测异常值
Q1 = df_outlier_detection['Values'].quantile(0.25)
Q3 = df_outlier_detection['Values'].quantile(0.75)
IQR = Q3 - Q1
outliers = df_outlier_detection[(df_outlier_detection['Values'] < (Q1 - 1.5 * IQR)) | 
                                (df_outlier_detection['Values'] > (Q3 + 1.5 * IQR))]

df_outlier_detection, outliers


在这个示例中,我们使用 IQR 方法检测了异常值。

示例代码运行结果

原始 DataFrame (df_outlier_detection):

   Values
0      10
1      12
2      12
3      14
4      15
5      15
6     100

检测到的异常值 (outliers):

   Values
6     100

这个结果显示,值 100 是一个异常值。异常值检测对于理解数据集和进行准确的统计分析至关重要。

你可能感兴趣的:(Pandas实战100例,pandas)