如何在kdb中更新或删除嵌套字典中的指定元素?
KDB+ 嵌套字典值更新与删除操作
原字典定义
d:`date`tab`col!((2022.12.01;2022.12.03);`TRADE`SYM;`ID`CODE`PIN`NAME)
需求1:将PIN更新为Yen
由于`col对应的值是符号向量,可通过定位目标符号的索引完成替换:
// 单行实现更新 d[`col]:@[d[`col]; where d[`col]=`PIN;:;`Yen]
分步操作更直观:
// 找到`PIN在`col中的位置 pinIdx:where d[`col] = `PIN // 替换对应位置的值 d[`col][pinIdx]:`Yen
需求2:删除PIN和CODE元素
利用except运算符直接从符号向量中移除指定元素:
d[`col]:d[`col] except `CODE`PIN
也可以用where过滤保留非目标元素:
d[`col]:d[`col] where not d[`col] in `CODE`PIN
内容的提问来源于stack exchange,提问作者user35631
相关产品推荐
相关产品推荐

