【发布时间】:2022-12-22 03:42:46
【问题描述】:
我想删除或更新嵌套字典中的值
例如。
d:`date`tab`col!((2022.12.01;2022.12.03);`TRADE`SYM;`ID`CODE`PIN`NAME)
我想将 `PIN 更新为 `Yen 或者从字典中删除 `PIN 和 `CODE。
【问题讨论】:
标签: kdb
我想删除或更新嵌套字典中的值
例如。
d:`date`tab`col!((2022.12.01;2022.12.03);`TRADE`SYM;`ID`CODE`PIN`NAME)
我想将 `PIN 更新为 `Yen 或者从字典中删除 `PIN 和 `CODE。
【问题讨论】:
标签: kdb
你可以这样做:
q)@[d;`col;{x where not x in`CODE`PIN}]
date| 2022.12.01 2022.12.03
tab | TRADE SYM
col | ID NAME
【讨论】:
我认为由于嵌套的性质,这可能有点繁琐,但替换值可以用字典和填充来完成。如果有多个,这将替换 PIN 的所有实例。
@[d;`col;{x^(enlist[`PIN]!enlist`YEN) x}]
date| 2022.12.01 2022.12.03
tab | `TRADE`SYM
col | `ID`CODE`YEN`NAME
可以使用except 完成删除。
q)@[d;`col;except[;`PIN`CODE]]
date| 2022.12.01 2022.12.03
tab | TRADE SYM
col | ID NAME
如果找到更好的方法来执行这两项操作,我不会感到惊讶。
【讨论】: