如何在KDB中合并两个行数相同的不同表
KDB合并同行数的两个表
已知两个行数相同的表:
all_order_ask:([]ask:();ask_qty:();exchange_name_ask:()) all_order_bid:([]bid:();bid_qty:();exchange_name_bid:())
要合并成包含所有列的最终表final_order,直接用KDB的横向拼接操作即可——两行数相同的表用逗号,连接时,会自动按行对应合并列:
final_order: all_order_ask, all_order_bid
测试示例
可以构造测试数据验证效果:
# 创建测试用的ask表 all_order_ask:([]ask:1.2 1.3 1.4;ask_qty:100 200 300;exchange_name_ask:`NYSE`NASDAQ`LSE) # 创建测试用的bid表 all_order_bid:([]bid:1.1 1.2 1.3;bid_qty:50 150 250;exchange_name_bid:`NYSE`NASDAQ`LSE) # 合并表 final_order: all_order_ask, all_order_bid # 查看最终表结构 meta final_order
执行后final_order会包含ask、ask_qty、exchange_name_ask、bid、bid_qty、exchange_name_bid所有列,且每一行的数据对应原两个表的同一行。
注意:该方法仅适用于两个表行数完全相同的场景,行数不一致时会触发错误。
内容的提问来源于stack exchange,提问作者Nathan
相关产品推荐
相关产品推荐

