我有一个巨大的数据框。我应该如何用 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.mask
与 pd.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/