0

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

我试过的数据表语法:

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

收到错误:

无法用''<class 'float'> 类型的值替换字符串值

有效的熊猫语法:

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

1 回答 1

2

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')]
于 2020-08-14T22:29:16.963 回答