如何在用PANAS替换离群值的同时用PANAS保持行的完整?

How to replace outliers with NaN while keeping row intact using pandas in python?(如何在用PANAS替换离群值的同时用PANAS保持行的完整?)
本文介绍了如何在用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

您可以使用quantilesLike:

df.mask(((df < df.quantile(0.05)) or (df > df.quantile(0.95))), np.nan, axis=1)

这篇关于如何在用PANAS替换离群值的同时用PANAS保持行的完整?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)
cannot use geometry manager pack inside . which already has slaves managed by grid(无法在内部使用几何管理器包。它已经拥有由网格管理的从属对象)
Is there any way to quot;extractquot; the dtype conversion functionality from pandas read_csv?(有没有办法从 pandas Read_CSV中提取数据类型转换功能?)
Highlighting rows based on a condition(根据条件突出显示行)