Rethinkdb 在整个表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”] 有一种方式我看不见,我肯定。这只是为我不想要的每个更改返回一个列表。我只想返回原始表,并替换空值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”] 有一种方式我看不见,我肯定。这只是为我不想要的每个更改返回一个列表。我只想返回原始表,并替换空值 提前谢谢 把你的问题充实一点就好了。您是否总是希望它是浮动列?这个表会有很多列吗?是否会有可能使事情复杂化的字符串/符号列? 如果
提前谢谢 把你的问题充实一点就好了。您是否总是希望它是浮动列?这个表会有很多列吗?是否会有可能使事情复杂化的字符串/符号列? 如果表中有少量列,则只需执行更新即可
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列,那么最后一个示例将不起作用