Rethinkdb 在整个表KDB中用空值替换无穷大

Rethinkdb 在整个表KDB中用空值替换无穷大,rethinkdb,q,kdb,Rethinkdb,Q,Kdb,//示例表 表:([]col1:20 40 30 0w;col2:4-4;col3:100 200 0w 300) 我的解决方案 {.[table;(其中0w=table[x];x);:;0n]}'[exec c from meta table where t=“f”] 有一种方式我看不见,我肯定。这只是为我不想要的每个更改返回一个列表。我只想返回原始表,并替换空值 提前谢谢 把你的问题充实一点就好了。您是否总是希望它是浮动列?这个表会有很多列吗?是否会有可能使事情复杂化的字符串/符号列? 如果

//示例表

表:([]col1:20 40 30 0w;col2:4-4;col3:100 200 0w 300)

我的解决方案

{.[table;(其中0w=table[x];x);:;0n]}'[exec c from meta table where t=“f”]

有一种方式我看不见,我肯定。这只是为我不想要的每个更改返回一个列表。我只想返回原始表,并替换空值


提前谢谢

把你的问题充实一点就好了。您是否总是希望它是浮动列?这个表会有很多列吗?是否会有可能使事情复杂化的字符串/符号列? 如果表中有少量列,则只需执行更新即可

q)show t
col1 col2 col3
--------------
20   1    100
40   2    200
30   2    0w
0w   1    300

q)inftonull:{(x where x=0w):0n;x} 
q)update inftonull col1, inftonull col3 from t
col1 col2 col3
--------------
20   2    100
40   1    200
30   0
     3    300
如果您认为列名可能会更改或列数过多,可以尝试功能更新(您可以将列名作为参数传递)

如果您的表仅由数字数据组成,则

q)flip{(x where x=.Q.t[type x]$0w):x 0N;x}each flip t
col1 col2 col3
--------------
20   2    100
40   1    200
30   0
     3    300
可能会起作用,这试图解释数字数据具有不同类型这一事实。
如果您的数据将包含string/sym列,那么最后一个示例将不起作用

,最好进一步充实您的问题。您是否总是希望它是浮动列?这个表会有很多列吗?是否会有可能使事情复杂化的字符串/符号列? 如果表中有少量列,则只需执行更新即可

q)show t
col1 col2 col3
--------------
20   1    100
40   2    200
30   2    0w
0w   1    300

q)inftonull:{(x where x=0w):0n;x} 
q)update inftonull col1, inftonull col3 from t
col1 col2 col3
--------------
20   2    100
40   1    200
30   0
     3    300
如果您认为列名可能会更改或列数过多,可以尝试功能更新(您可以将列名作为参数传递)

如果您的表仅由数字数据组成,则

q)flip{(x where x=.Q.t[type x]$0w):x 0N;x}each flip t
col1 col2 col3
--------------
20   2    100
40   1    200
30   0
     3    300
可能会起作用,这试图解释数字数据具有不同类型这一事实。 如果您的数据将包含string/sym列,那么最后一个示例将不起作用