我正在删除离群值教程,但它很困惑我时,这个循环不能正常工作:
target = df['ConvertedComp']
mean = target.mean()
sd = target.std()
for x in target:
z_score = (x-mean)/sd
if np.abs(z_score) > 3:
selected_df = df[df.ConvertedComp != x]
还有什么方法可以有效地创建新的 Dataframe 而不产生离群点?谢谢!希望我能学到一些新的东西。
2条答案
按热度按时间mqkwyuun1#
您可以尝试以下代码来选择从
ConvertedComp
列计算出的z_score小于或等于3的行。x9ybnkn62#
以下是对我有效的方法。
计算下四分位数。
计算上四分位数。
通过创建一个新的df来删除下限和上限异常值。
将离群值更改为“na”以删除其数值数据。
(这将使它们不在可视化和value_counts()中。)