DolphinDB:如何根据每一行统计与第一列数据相同的列数?

问题描述 投票:0回答:1

假设有一个表t如下:

t = table(1..5 as col1, 1 2 3 3 5 as col2, 1 3 2 4 5 as col3)

我想比较“col2”和“col3”中的数据是否与“col1”中的数据相同,并根据每一行统计相同数据的频率。以表t的第一行为例,由于“col2”和“col3”的数据都等于“col1”的数据,因此频率应该为2。

static compare dolphindb
1个回答
0
投票

基于行的函数可用于对行进行计算。在这种情况下,比较“col1”是否等于“col2”或“col3”,如果是则返回 true。然后使用

rowSum
函数计算每行的真布尔值之和。这是一个示例脚本:

t = table(1..5 as col1, 1 2 3 3 5 as col2, 1 3 2 4 5 as col3)
select *,rowSum(each(eq{t.values()[0]},t.values()[1:3])) from t

或者

select *,rowSum(t.values()[0] == matrix(t.values()[1:3])) from t
© www.soinside.com 2019 - 2024. All rights reserved.