我有以下数据框l
,按Code
和Month
分组:
l.head():
Qty
Code Month
600003 02 1
06 2
600006 02 1
05 1
07 2
我想通过Qty
来检测离群值,所以我尝试了IQR:
def get_num_outliers(column):
q1 = np.percentile(column, 25)
q3 = np.percentile(column, 75)
return ((column<q1) | (column>q3))
l.agg([get_num_outliers])
我似乎没有得到有效的答案。 我仍然是熊猫的初学者,想知道是否有人可以帮助我。谢谢!
答案 0 :(得分:1)
def remove_outlier(df, col):
q1 = df[col].quantile(0.25)
q3 = df[col].quantile(0.75)
iqr = q3 - q1
lower_bound = q1 - (1.5 * iqr)
upper_bound = q3 + (1.5 * iqr)
out_df = df.loc[(df[col] > lower_bound) & (df[col] < upper_bound)]
return out_df