缺失值处理
由small_q创建,最终由small_q 被浏览 57 用户
在使用“输入特征(DAI SQL)”提取数据的时候,可能会遇到缺失值的问题,缺失值的出现可能是因为原始数据表中有缺失值,也有可能是表达式计算的过程中产生了缺失值
对于缺失值,我们主要有两种处理方式,缺失值删除,或者缺失值填充
1. 缺失值删除
要想将缺失值剔除,只需要在“输入特征(DAI SQL)”模块中,将“表达式-移除空值”勾选即可
值得注意的是,使用这种方法,只要一行数据中有一个字段是空值,那么这一行就会被剔除
因此,当有多个特征被提取的时候,只要有一个特征由于运算逻辑错误导致整个字段都是空值的话,那么所有行都是包含空值的,这样的话数据提取出来就会是一个一行也没有的空数据集
2. 缺失值填充
如果想要对于缺失值进行填充,我们可以在表达式特征中,使用IF三元表达式进行填充,格式为IF(字段 IS NULL, 缺失填充值, 字段)
。
这个思路也比较简单,其实就是新建一个字段,如果原始字段中有缺失值,那么新字段就是我指定的填充值,如果原始字段中没有缺失值,那么新字段就用原始字段的值即可。
下面我们看这个例子,我们想计算5日移动平均并命名为哑变量_ma5
(这里我们只看000001.SZ一支票),前4个值就是缺失值,接着我们用三元表达式,将缺失值填充为0,并且将填充后的字段命名为ma5
,从数据提取结果可以看出,前4行本来为Null值,现在被我们填充为了0
除此之外,我们还可以对缺失值填充为其他数字,这个要结合具体情景来判断填充为什么数值合适