gpt4 book ai didi

python-3.x - 如果值超出上下限(异常值处理),则将值的数据框替换为 np.nan

转载 作者:行者123 更新时间:2023-12-05 01:03:45 24 4
gpt4 key购买 nike

如果值的数据框超出上下限,用 np.nan 替换值的数据框的最佳方法是什么?

值:A、B、C、D
限制:下限,上限

df1 = pd.DataFrame(np.random.randint(50,300,size=(100, 4)), columns=list('ABCD')) # Generate Random Dataframe
df2 = pd.DataFrame(np.random.randint(150,180,size=(100, 1)), columns=['lower'])
df3 = pd.DataFrame(np.random.randint(180,200,size=(100, 1)), columns=['upper'])
df = pd.concat([df1,df2,df3], axis=1)
df

enter image description here

最佳答案

使用 DataFrame.mask条件由 DataFrame.ltDataFrame.gt| 链接按位 OR:

c = list('ABCD')
df[c] = df[c].mask(df[c].lt(df['lower'], axis=0) | df[c].gt(df['upper'], axis=0))
print (df)
A B C D lower upper
0 NaN NaN NaN NaN 178 180
1 NaN NaN 164.0 NaN 161 187
2 NaN NaN NaN NaN 169 181
3 NaN NaN NaN 187.0 174 198
4 NaN NaN NaN NaN 163 186
.. .. ... ... ... ... ...
95 NaN NaN NaN NaN 177 181
96 NaN NaN NaN NaN 158 192
97 NaN 168.0 NaN 183.0 150 198
98 NaN NaN NaN NaN 167 186
99 NaN NaN NaN NaN 166 190

关于python-3.x - 如果值超出上下限(异常值处理),则将值的数据框替换为 np.nan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73554419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com