猿问

如何使用Numpy用NaN替换Dataframe列的值范围?

我有一个带有列的数据集RH_1:


    RH_1

   --------

    36.999

    34.555

    36.777

    33.688

    38.999

    37.667

    ...

我想用替换一定范围内的一组数字NaN。对于前。我希望该列中所有值在36-37之间显示NaN。


所以我的首选输出将是这样的:


    RH_1

   --------   

    NaN

    34.555

    NaN

    33.688

    38.999

    37.667

所以我在用这段代码:


train['RH_1']=train['RH_1'].apply(lambda x: np.NaN if(x in range(36,37)) else x)

但是,当我这样做时train.isnull().sum(),仍然显示该列中没有空值,并且执行该代码也没有任何错误。


PS我更喜欢使用np.where()underlambda函数来完成它,因为我正在练习。如果有的话,还要求使用更简单的方法来提供替代解决方案。


函数式编程
浏览 227回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答