如何在KDB/Q中按行合并两个同结构数据表
在KDB/Q中合并两个结构相同的数据表
当两个KDB/Q数据表列结构(列名、顺序、类型)完全一致时,直接使用**逗号操作符,**就能实现行合并,将第二个表的所有行追加到第一个表之后。
实现步骤
- 假设你的两个表分别命名为
t1和t2 - 执行合并操作:
// 生成合并后的新表,不修改原表 combinedTable: t1, t2
示例验证
用你提供的数据定义两个表:
// 定义第一个表t1 t1:([] ask:19166.73 19167.21 19167.63 19168.27; ask_qty:0.0260 0.0521 0.1200 0.1304; exchange_name_ask:`Gate`Gate`Gate`Gate; bid:19164.61 19164.16 19163.92 19162.39; bid_qty:0.1042 0.0103 0.0296 0.1304; exchange_name_bid:`Gate`Gate`Gate`Gate) // 定义第二个表t2 t2:([] ask:19169.13 19171.36 19172.18 19173.59; ask_qty:0.1200 0.2608 0.5215 0.0102; exchange_name_ask:`CoinBase`CoinBase`CoinBase`CoinBase; bid:19159.90 19158.95 19158.69 19157.86; bid_qty:0.1200 0.0291 0.0106 0.2609; exchange_name_bid:`CoinBase`CoinBase`CoinBase`CoinBase)
执行合并后查看结果:
combinedTable: t1, t2 combinedTable
输出就是你期望的合并后数据表。
注意:只有当两个表的列结构完全匹配时,逗号操作符才会生效;如果结构不一致,KDB/Q会抛出错误。
内容的提问来源于stack exchange,提问作者Nathan
相关产品推荐
相关产品推荐

