如何删除包含分类数据和数字数据的数据集中的异常值?

2024-09-30 16:31:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从数据集中的“价格”列中删除异常值。我已经能够创建一个异常值的数据框架,并在其他列中使用它们相应的值,但是我正在努力从父数据集中排除这些条目。我该怎么办

这是我用来创建上述新数据帧的代码:

lower_limit = pq1 - 1.5 *iqr
upper_limit = pq3 + 1.5 *iqr

newdf = df[((df['price'] < lower_limit) | (df['price'] > upper_limit))]
newdf

在指定布尔运算之前,我尝试使用波浪号(~)符号,但没有得到期望的结果


Tags: 数据代码框架df符号条目价格upper
2条回答

相反的情况可能是:

newdf = df[((df['price'] > lower_limit) & (df['price'] < upper_limit))]

您可以使用.loc属性获取原始数据帧的样本,该样本通过索引排除newdf数据帧的元素:

lower_limit = pq1 - 1.5 *iqr
upper_limit = pq3 + 1.5 *iqr

newdf = df[((df['price'] < lower_limit) | (df['price'] > upper_limit))]
df_not_outliers = df.loc[set(df.index) - set(newdf.index)]

相关问题 更多 >