py-datatable 用 NaN 替换列中的空字符串

py-datatable Replace empty string in column with NaN

在 python 数据 table 中,我想用 NaN 替换空字符串。当我尝试时,出现以下错误。它适用于 pandas。在此先感谢您的帮助。

数据table 我试过的语法:

dt[:,"column_name"].replace('',np.nan)

收到错误:

Cannot replace string value '' with a value of type <class 'float'>

pandas 有效的语法:

pd["column_name"]=pd["column_name"].replace('',np.nan)

Py 数据表语法根据其值更新(替换)其中一列:

import datatable as dt
mydt = dt.Frame(a=['a','b','c','','d','e'])
mydt[dt.f.a == '', dt.update(a = None)]

更新前的数据表:

mydt
   | a 
-- + --
 0 | a 
 1 | b 
 2 | c 
 3 |   
 4 | d 
 5 | e 

更新后的数据表:

mydt
   | a 
-- + --
 0 | a 
 1 | b 
 2 | c 
 3 | NA
 4 | d 
 5 | e 

适用于 0.10.0 或更高版本

奖金答案:完成相反的事情 - 用一些常数值使用函数替换缺失值 isna():

mydt = dt.Frame(a=['a','b','c', None,'d','e'])
mydt[dt.isna(dt.f.a), dt.update(a = 'NULL')]