py-datatable用NaN

问题描述

在python数据表中,我想用NaN替换空字符串。当我尝试时,出现以下错误。它可与熊猫一起使用。预先感谢您的帮助。

我尝试过的数据表语法:

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

收到错误:

不能用类型

的值替换字符串值''

有效的熊猫语法:

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',None,'e'])
mydt[dt.isna(dt.f.a),dt.update(a = 'NULL')]

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...