at([])
语法
X[index]
参数
-
X
可以是一个标量、向量(常规向量/元组/数组向量)、矩阵、表、字典、数据对、函数。 -
index
可以是一个布尔表达式/布尔值、向量(常规向量/元组/数组向量)、数据对
详情
当 index 是布尔表达式时, 返回 X 中满足于 index 为 True 的元素;否则返回以 index 为索引的元素。若 X 是函数,则 index 将作为函数的参数。该运算符等同于函数 at。
注: 当 index 是元组时,at 会将 index 的元素作为 X 每个维度的索引。例如:若 X 是一个向量组成的元组,则
index = (0, 1) 则返回 X 的第 1 个元素中下标为 1 的元素值。
对不同数据形式查找的支持性见下表。
X/index | 条件表达式/布尔值 | 标量 | 常规向量 | 数组向量 | 元组 | 数据对 |
---|---|---|---|---|---|---|
标量 | √ | √ | √ | × | × | √ |
常规向量 | √ | √ | √ | √ | √ | √ |
元组 | √ | √ | √ | × | √ | √ |
数组向量 | √ | √ | √ | × | × | √ |
矩阵 | √ | √ | √ | × | √ | √ |
表 | √ | √ | √ | × | × | √ |
字典 | × | √ | √ | × | × | × |
数据对 | √ | √ | √ | × | √ | √ |
单目函数/双目函数 | √ | √ | √ | √ | √ | √ |
例子
x=5 7 0 4 2 3;
x[x>3];
输出返回:[5,7,4]
x at x>3;
输出返回:[5,7,4]
shares=500 1000 1000 600 2000;
prices=25.5 97.5 19.2 38.4 101.5;
prices[shares>800];
输出返回:[97.5,19.2,101.5]
// 只返回 2017.01.01 和 2017.01.07之间的工作日。
dates=2017.01.01..2017.01.07;
dates[x->x.weekday() between 1:5];
输出返回:[2017.01.02,2017.01.03,2017.01.04,2017.01.05,2017.01.06]
// 索引是 tuple
tp = [2.3 2.1 2.2, 3.1 2.9 2.8, 5.7 6.9]
tp at [1 2 3, 0 1 2]
输出返回:([3.1,2.9,2.8],[5.7,6.9,],)
(sum)[1..10]
输出返回:55
(corr)[1 3 -1, 2 3 4]
输出返回:-0.5000
相关函数:eachAt