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

2022-02-24 00:00:00 python pandas replace range

问题描述

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

例如取值范围为0到10

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

我尝试过:

df.loc[(df["B"] < 5 ), "B"] = np.NaN

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

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


解决方案

我将在函数

之间进行选择
df.loc[~df.B.between(0, 10), "B"] = np.nan

相关文章