【问题标题】:How can I find element indices in kdb?如何在 kdb 中找到元素索引?
【发布时间】:2013-06-14 10:25:09
【问题描述】:

如何确定 kdb 列表中元素的第一次和最后一次出现的索引。该列表显然具有重复值并且未排序。如果重要,该列表仅包含浮动(价格)。我尝试使用 bin 和 binr 但它没有给出预期的结果。

【问题讨论】:

  • 来自bin 的文档:左侧参数的项目应按非降序排序

标签: kdb


【解决方案1】:

我可以建议一个替代方案(更简单?更容易阅读?更通用?)解决方案:

q)list:1 2 3 2 4 2 5f  
q)list=2.0
0101010b
q)where list=2.0
1 3 5
q)first where list=2.0
1
q)last where list=2.0
5

【讨论】:

  • 可以很好地组合成一个衬垫q)(first;last)@\: where list=2
【解决方案2】:

想通了。

pxs?1b /gives first and 
(count pxs) - (reverse pxs)?5222.4 /gives last

【讨论】:

  • 我会小心使用 ?,除非您确定该元素在列表中。如果不是,它会给你列表的长度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多