KDB+/Q:如何创建一个列来增加另一列的唯一值的出现?

KDB+/Q: How to create a column that increments the occurrence of unique values of another column?

我正在尝试创建一个列来增加另一列中唯一(与之前的值不同)值的出现次数:

x   y
=====
1 | 0
1 | 0
2 | 1
4 | 2
1 | 3

如何在 kdb+ 中实现这一功能? 谢谢

这个有用吗?

q)t:([]x:1 1 2 4 1)
q)update y:(sums 0b,1_differ x)from t
x y
---
1 0
1 0
2 1
4 2
1 3

differ 查看列表(或 table 的列)和 returns 列表 1b 在项目与项目不同的位置在那之前。但是它总是以 1b 开头,所以我们必须使用 1_ 删除列表的第一个元素,并在 0b, 开头添加一个 0b。然后我们使用 sums.

取 运行 总和