2.15 分组:非重复计数

 

序表中数据聚合时,非重复计数。分析数据文件中哪个字段最适合和 Pclass 字段组合作为主键。

PassengerId Survived Pclass Name Sex Age
1 0 3 “Braund, Mr. Owen Harris” male 22
2 1 1 “Cumings, Mrs. John Bradley” female 38
3 1 3 “Heikkinen, Miss. Laina” female 26
4 1 1 “Futrelle, Mrs. Jacques Heath” female 35
5 0 3 “Allen, Mr. William Henry” male 35
6 0 3 “Moran, Mr. James” male
7 0 1 “McCarthy, Mr. Timothy J” male 54

脚本:

A B C
1 =T(“titanic_train.xlsx”)
2 =A1.group(Pclass)
3 =A1.fno() >result=[]
4 for A3 =A2.new(~.field(A4).icount():Dcount,~.len():Dlen)
5 =B4.select(DCount==Dlen)
6 If(B5.len()==A2.len()) >result.insert(0,A1.fname(A4))
7 return result

A1 读数
A2 按 Pclass 分组
A3 获得列数
A4 按列数循环
B4 使用 icount() 逐列计算当前列在每一组中不重复的个数
B5 获得不重复个数和当前组长度相等的记录
B6 如果 B5 的记录数和 A2 的组数相等,说明当前列在所有组中都没有重复的值
C6 将当前列名添加到结果集中
A7 返回结果集