KDB 用 int 或 float 替换所有列中的空整数

KDB replace null integer in all columns with int or float

扩展这个问题,

Ff 我有一个很大的 table,其中包含不同的数据类型,例如 float、int、timestamps,我该如何扩展它

0^tbl

仅应用于特定类型的列。目前,如果我将它应用到完整的 table,我会得到一个类型错误,并且必须有比手动逐列应用更聪明的方法

您可以根据每列的类型使用功能应用来执行此操作,如下所示:

q)t:([] a:9?`3;b:9#0N;c:9#0Nf;d:9#0Ni)
q)@[t;where (type each flip t) within 5 9h;0^]
a   b c d
---------
kdj 0 0 0
eeg 0 0 0
nce 0 0 0
jog 0 0 0
..

这通过仅将 0^ 应用于类型介于 5 和 9 之间的列(即短、整数、长、实数和浮点数)来工作

希望对您有所帮助

乔纳森