如果不在值范围内,Python Pandas 会替换值

vin*_*nce 0 python replace range pandas

如果每个值不在特定值范围内,我想替换列中的所有单元格。

例如值范围在 0 到 10 之间

该函数应将 np.NaN 放在所有低于 0 或高于 10 的单元格上。

我尝试过这个:

df.loc[(df["B"] < 5 ), "B"] = np.NaN
Run Code Online (Sandbox Code Playgroud)

但它仅适用于特定值,不适用于值范围。

是否有一个简单的解决方案可以替换特定值范围之外的所有值,而无需迭代所有行?

辜乘风*_*辜乘风 5

我会在 func 之间选择

df.loc[~df.B.between(0, 10), "B"] = np.nan
Run Code Online (Sandbox Code Playgroud)

  • 你想在你的条件前面添加`~`来否定它;) (2认同)