python - 如何在 Pandas 数据框中用 NaN 替换一系列值?

标签 python pandas dataframe

我有一个巨大的数据框。我应该如何用 NaN 替换一系列值 (-200, -100)?

最佳答案

数据框

您可以使用 pd.DataFrame.mask :

df.mask((df >= -200) & (df <= -100), inplace=True)

此方法将 bool 数组中由 True 值标识的元素替换为指定值,如果未指定值,则默认为 NaN

等价地,使用pd.DataFrame.where具有相反的条件:

df.where((df < -200) | (df > -100), inplace=True)

系列

与许多方法一样,Pandas 提供了适用于系列而不是整个数据框的版本。因此,对于 df['A'] 列,您可以使用 pd.Series.maskpd.Series.between :

df['A'].mask(df['A'].between(-200, -100), inplace=True)

对于链接,默认情况下注意 inplace=False,因此您也可以使用:

df['A'] = df['A'].mask(df['A'].between(-200, -100))

关于python - 如何在 Pandas 数据框中用 NaN 替换一系列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40159763/

相关文章:

python - 使用 Python 在六边形网格中显示数据

Python 和 JSON 错误 - TypeError : string indices must be integers

python - 如何将列表中的值分配给字典并返回到单独的列表中?

python - 将系列分类到 Pandas 的新列

python - 可以在 View 或切片上使用 Pandas 替换方法来修改原始数据帧吗?

Python:家庭级

pandas - 如何使用 pandas 根据一行标识符对合并列进行分组?

python - 如何使用 & 连接条件来过滤 Pandas 数据框?

python - 如果下一行在特定列中有 NaN,则连接 Pandas 行

python - 接收SettingWithCopyWarning。继续安全吗?