6.17 次序相关的分组:按相邻条件分组
对有序集合进行分组时,当分组条件的计算结果为 true 时重新分组。
上证指数 2020 年收盘价最长连续上涨了多少天?(首个交易日指数上涨)。部分数据如下:
DATE | CLOSE | OPEN | VOLUME | AMOUNT |
---|---|---|---|---|
2020/01/02 | 3085.1976 | 3066.3357 | 292470208 | 3.27197122606E11 |
2020/01/03 | 3083.7858 | 3089.022 | 261496667 | 2.89991708382E11 |
2020/01/06 | 3083.4083 | 3070.9088 | 312575842 | 3.31182549906E11 |
2020/01/07 | 3104.8015 | 3085.4882 | 276583111 | 2.88159227657E11 |
2020/01/08 | 3066.8925 | 3094.2389 | 297872553 | 3.06517394459E11 |
… | … | … | … | … |
函数 A.group() 的选项 @i: 当条件发生变化时重新分组。
脚本:
A | |
---|---|
1 | =T(“SSEC.csv”) |
2 | =A1.select(year(DATE)==2020).sort(DATE) |
3 | =A2.group@i(CLOSE<CLOSE[-1]) |
4 | =A3.max(~.len()) |
A1:导入上证指数表。
A2:选出 2020 年的记录,并按日期升序排列。
A3:当收盘价小于前日收盘价时重新分组。
A4:计算连续上涨的最大天数。