【问题标题】:Removing numbers from dataframe that lie within range从位于范围内的数据框中删除数字
【发布时间】:2022-01-26 06:05:42
【问题描述】:

我有一个 pandas 数据框,其中包含 -1000 到 1000 之间的值。我想消除 -0.00001 到 0.00001 之间的所有数字,即用 NaN 替换它们。值得一提的是,我的 df 包含许多非常小的正数和负数的实例,我也希望在此范围内包括这些实例,例如6.26478E-52。

我该怎么做?

P.S.我附上我的 df 前几行的图像以供参考。

【问题讨论】:

    标签: python pandas dataframe filtering


    【解决方案1】:

    如果需要,IIUC 使用较少,例如 -0.000010.00001

    df = df.mask(df.lt(-0.00001) | df.lt(0.00001))
    

    如下0.00001:

    df = df.mask(df.lt(0.00001))
    

    或者如果需要介于以下之间的值:

    df = df.mask(df.gt(-0.00001) & df.lt(0.00001))
    

    【讨论】:

    • df = df.mask(~(df.lt(-0.00001) | df.gt(0.00001))) 给了我想要的输出。谢谢! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多