有没有可以去除异常值的功能?

swe*_*010 5 python outliers pandas

我找到了一个函数来检测列中的异常值,但我不知道如何删除异常值

是否有从列中排除或删除异常值的函数

这是检测异常值的函数,但我需要帮助删除异常值的函数

import numpy as np
import pandas as pd
outliers=[]
def detect_outlier(data_1):

    threshold=3
    mean_1 = np.mean(data_1)
    std_1 =np.std(data_1)


    for y in data_1:
        z_score= (y - mean_1)/std_1 
        if np.abs(z_score) > threshold:
            outliers.append(y)
    return outliers
Run Code Online (Sandbox Code Playgroud)

这里是打印异常值

#printing the outlier 
outlier_datapoints = detect_outlier(df['Pre_TOTAL_PURCHASE_ADJ'])
print(outlier_datapoints)
Run Code Online (Sandbox Code Playgroud)

小智 0

def outlier():
    import pandas as pd
    df1=pd.read_csv("......\\train.csv")
    _, bp = pd.DataFrame.boxplot(df1, return_type='both')
    outliers = [flier.get_ydata() for flier in bp["fliers"]]
    out_liers = [i.tolist() for i in outliers]
Run Code Online (Sandbox Code Playgroud)