本文介绍了如何在用PANAS替换离群值的同时用PANAS保持行的完整?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在处理一个非常大的文件,需要为每列消除不同的离群值。
我已经能够找到离群值并用NaN替换它们,然而,它正在将整个行变成NaN。我肯定我错过了一些简单的东西,但我似乎找不到了。
import pandas as pd
import numpy as np
pd.set_option('display.max_rows', 100000)
pd.set_option('display.max_columns', 10)
pd.set_option('display.width', 1000)
df = pd.read_excel('example sheet.xlsx')
df = df.replace(df.loc[df['column 2']<=0] ,np.nan)
print(df)
如何只将一个值转换为NaN而不是整行?
谢谢
推荐答案
您可以执行以下操作:
df.mask(df <= 0, np.nan, axis=1)
无需迭代列。
但是,我建议您使用适当的统计数据来定义异常值,而不是<= 0
。
您可以使用quantiles
Like:
df.mask(((df < df.quantile(0.05)) or (df > df.quantile(0.95))), np.nan, axis=1)
这篇关于如何在用PANAS替换离群值的同时用PANAS保持行的完整?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!