【发布时间】:2020-11-03 20:49:34
【问题描述】:
我正在尝试用数字值重新编码一列,其中 99 和 199 表示缺失值。我想将其重新编码为 (.) 以便在条件适用时没有任何值,并在输入时保留所有其他值。例如,
如果 test =99 或 test=199 那么 . else = 填充其他值。
我怎样才能在 HIVE 中做到这一点?
【问题讨论】:
我正在尝试用数字值重新编码一列,其中 99 和 199 表示缺失值。我想将其重新编码为 (.) 以便在条件适用时没有任何值,并在输入时保留所有其他值。例如,
如果 test =99 或 test=199 那么 . else = 填充其他值。
我怎样才能在 HIVE 中做到这一点?
【问题讨论】:
这没有意义。 99 和 199 是 数字,但 . 不是。所以,我会推荐NULL:
(case when test not in (99, 199) then test end) as test_recoded
如果test 真的是一个字符串,那么你可以使用上面的或者替代的:
(case when test not in ('99', '199') then test else '.' end) as test_recoded
【讨论】: