本章主要展示关于集合、聚合与循环的代码参考,比如判断是否是数列、判断是否递增数列、判断是否成员或子集、判断两个序列的成员是否相同、对有序序列用归并法快速做并交差、计算平方和方差、计算加权平均、去掉最大值和最小值的平均、取相邻行计算比上期、取相邻集合计算移动平均、汇总循环、不同数据结构的排列作并集等。
|
A |
|
1 |
[1,2,3,4] |
|
2 |
=A1.pselect(~!=int(~))==null |
检查是否有不是整数的成员 |
|
A |
|
1 |
[1,2,3,4,5] |
|
2 |
=A1.pselect(~!=int(~) || ~<=~[-1] )==null |
|
|
A |
|
1 |
[1,2,3,4,5,6,7] |
|
2 |
=A1.pos(2)!=null |
true,成员 |
3 |
=A1.pos@c([2,3])!=null |
true ,连续子集 |
4 |
=A1.pos@c([3,2])!=null |
false |
5 |
=A1.pos@c([2,5])!=null |
false |
6 |
=A1.pos@i([2,3])!=null |
true,子集判断 |
7 |
=A1.pos@i([3,2])!=null |
false |
8 |
=A1.pos@i([2,5])!=null |
true |
|
A |
|
1 |
[1,2,3] |
|
2 |
[3,2,1] |
|
3 |
=A1.eq(A2) |
true |
|
A |
|
1 |
=demo.query("select CLASS,STUDENTID, SUBJECT, SCORE from SCORES where CLASS=? and SUBJECT=? and STUDENTID<?","Class one", "Math",10) |
|
2 |
=demo.query("select CLASS,STUDENTID, SUBJECT,SCORE from SCORES where CLASS=? and SUBJECT=? and STUDENTID>?","Class two", "Math",5) |
|
3 |
=A1.sort(STUDENTID) |
|
4 |
=A2.sort(STUDENTID) |
|
5 |
=[A3:A4].merge(STUDENTID) |
和 |
6 |
=[A3:A4].merge@u(STUDENTID) |
并 |
7 |
=[A3:A4].merge@i(STUDENTID) |
交 |
8 |
=[A3:A4].merge@d(STUDENTID) |
差 |
|
A |
|
1 |
[1,2,3,4,5,6,7,8] |
|
2 |
=A1.sum(~*~) |
平方和 |
3 |
=A1.variance() |
方差 |
4 |
=demo.query("select NAME,EVENT,SCORE from GYMSCORE") |
|
5 |
=A4.variance(SCORE) |
|
|
A |
|
1 |
[9,9.1,8.5,9.8,9.4] |
|
2 |
[0.9,0.8,1.0,0.95,1.0] |
|
3 |
=(A1**A2).sum()/A2.sum() |
|
|
A |
|
1 |
[99,98,95,93,87,89,90,96,94] |
|
2 |
=(A1.sum()-A1.max()-A1.min())/(A1.len()-2) |
|
3 |
=(A1\A1.min()\A1.max()).avg() |
|
|
A |
|
1 |
[1,2,3,4,5,6] |
|
2 |
=A1.(~/~[-1]-1) |
|
3 |
=demo.query("select DATE,sum(CLOSING) AMOUNT from STOCKRECORDS GROUP BY DATE") |
|
4 |
=A3.derive(AMOUNT/AMOUNT[-1]-1: Period-over-period) |
|
|
A |
|
1 |
[1,2,3,4,5,6] |
|
2 |
=A1.(~[-1,1].avg()) |
|
3 |
=demo.query("select STOCKID, DATE,CLOSING from STOCKRECORDS where STOCKID=?","000062") |
|
4 |
=A3.(CLOSING[-3,3].avg()) |
|
|
A |
|
1 |
[1,2,3,4,5,6,7] |
|
2 |
=A1.iterate(~*~~;1) |
返回连乘最终结果 |
|
A |
|
1 |
=demo.query("select * from STUDENTS") |
|
2 |
=demo.query("select * from EMPLOYEE ").derive(interval@y(BIRTHDAY,now()):AGE) |
|
3 |
=A1|A2 |
|
4 |
=A3.select(GENDER:"F").avg(AGE) |
|