首页 > 解决方案 > 删除四分位偏差低或高的行

问题描述

写了一段代码

df=data.copy()
for column in data.columns:
    Q1= np.quantile(data[column],0.25)
    Q3= np.quantile(data[column],0.75)
    IQR = Q3-Q1
    Low = Q1 - 3*(IQR)
    High = Q3 + 3*(IQR)
    df = df[(df[column] > Low ) | (df[column] < High)][column]

如何编写代码以使其仅接受范围内的内容。代码显示错误。

----> 9     df = df[(df[column] > Low ) | (df[column] < High)][column]

标签: pythonpandasdataframequartiledeviation

解决方案


是的,我的逻辑是错误的。这个有效。

df=data.copy()
for column in data.columns:
    Q1= np.quantile(data[column],0.25)
    Q3= np.quantile(data[column],0.75)
    IQR = Q3-Q1
    Low = Q1 - 3*(IQR)
    High = Q3 + 3*(IQR)
    df = df[df[column].between(Low, High)]

推荐阅读