将字符串“Null”替换为矢量化

2024-10-02 20:43:19 发布

您现在位置:Python中文网/ 问答频道 /正文

问这个问题的最后一个问题是在2016年,当时使用的是astropy软件包。你知道吗

Replacing masked values (--) with a Null or None value using fiil_value from ma numpy in Python

我想知道从那以后是否有比使用applymap更快的矢量化方法:

df.applymap(lambda x: np.nan if x=='NULL' else x)

Tags: orfromnumpynonevaluewithnullusing
2条回答

您可以就地执行:

df[df.astype(str)=='NULL'] = np.nan

示例:

>>> df
      a     b
0    10  NULL
1  NULL    20
>>> df[df=='NULL'] = np.nan
>>> df
     a    b
0   10  NaN
1  NaN   20

使用^{}^{},默认情况下,根据条件将值更改为NaN

df = df.replace('NULL', np.nan)

要比较混合数据,请使用values或强制转换为string

df = df.mask(df.values == 'NULL')

df = df.mask(df.astype(str) == 'NULL')

相关问题 更多 >