【问题标题】:Detect and fix outliers in a pandas series检测和修复熊猫系列中的异常值
【发布时间】:2021-09-27 08:57:19
【问题描述】:

我有一些带有异常值的熊猫系列。这是一些模拟数据:

df = pd.DataFrame({'col1': [1200, 400, 50, 75, 8, 9, 8, 7, 6, 5, 4, 6, 6, 8, 3, 6, 6, 7, 6]}) 

我想用平均值替换异常值,即与平均值 >= 3 标准差的值。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    我们开始吧:

    thrs = df['col1'].mean() + 3 * df['col1'].std()
    df.loc[df['col1'] >= thrs, 'col1'] = df['col1'].mean()  
    

    【讨论】:

      【解决方案2】:
      std_dev = df["col1"].std()
      mean = df["col1"].mean()
      df["col1"] = np.where(df.col1 >= (mean + 3*std_dev), mean, df.col1)
      

      【讨论】:

        猜你喜欢
        • 2013-02-10
        • 1970-01-01
        • 2019-01-23
        • 2021-09-03
        • 2023-03-07
        • 2017-11-26
        • 2019-02-05
        • 1970-01-01
        • 2018-03-16
        相关资源
        最近更新 更多