【发布时间】:2013-06-14 10:25:09
【问题描述】:
如何确定 kdb 列表中元素的第一次和最后一次出现的索引。该列表显然具有重复值并且未排序。如果重要,该列表仅包含浮动(价格)。我尝试使用 bin 和 binr 但它没有给出预期的结果。
【问题讨论】:
-
来自
bin的文档:左侧参数的项目应按非降序排序
标签: kdb
如何确定 kdb 列表中元素的第一次和最后一次出现的索引。该列表显然具有重复值并且未排序。如果重要,该列表仅包含浮动(价格)。我尝试使用 bin 和 binr 但它没有给出预期的结果。
【问题讨论】:
bin 的文档:左侧参数的项目应按非降序排序
标签: kdb
我可以建议一个替代方案(更简单?更容易阅读?更通用?)解决方案:
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
想通了。
pxs?1b /gives first and
(count pxs) - (reverse pxs)?5222.4 /gives last
【讨论】: