rename!
语法
rename!(X, Y, [Z])
参数
X 可以是向量、矩阵、非共享内存表或分布式表(仅支持 OLAP 引擎)。
-
当 X 是向量时,Y 是表示标签的字符串。
-
当 X 是矩阵时,如果 Z 没有指定,则 Y 是列标签;如果 Z 指定了,Y 是行标签,而 Z 是列标签。列标签和行标签的长度分别需要等于 X 的列数和行数。Y 和 Z 可以是任意数据类型。
-
当 X 是非共享内存表时,Y 和 Z 是字符串标量或向量。如果 Z 没有指定,则 Y 从左到右是新的列名,用户应该确保新的列名的数量小于或等于表中列的总数;如果 Z 指定了,则 Y 是旧的列名,Z 是对应的新的列名。
-
当 X 是分布式表时,必须指定 Y 和 Z 且只能是字符串标量。其中 Y 表示指定的旧列名,Z 是对应的新列名。分布式表不支持批量修改列名。
详情
-
对于向量,赋予其一个新标签。
-
对于矩阵,给列(和行)添加标签。
-
对于表,替换表的列名。
例子
k = 3 6 9;
k.rename!(`rk);
# output
[3, 6, 9]
// 用函数 stat 获取统计信息是一种查看名字的方法
stat k;
# output
Median->6
Avg->6
Min->3
Stdev->3
Count->3
Size->3
Name->rk // k 的新标签
Max->9
m1 = 1..9$3:3;
m1
#0 | #1 | #2 |
---|---|---|
1 | 4 | 7 |
2 | 5 | 8 |
3 | 6 | 9 |
m1.rename!(`col1`col2`col3);
col1 | col2 | col3 |
---|---|---|
1 | 4 | 7 |
2 | 5 | 8 |
3 | 6 | 9 |
m1.rename!(1 2 3, `c1`c2`c3);
c1 | c2 | c3 | |
---|---|---|---|
1 | 1 | 4 | 7 |
2 | 2 | 5 | 8 |
3 | 3 | 6 | 9 |
m1 join k;
// 注意新的矩阵使用 k 的标签作为它的列标签。
c1 | c2 | c3 | rk | |
---|---|---|---|---|
1 | 1 | 4 | 7 | 3 |
2 | 2 | 5 | 8 | 6 |
3 | 3 | 6 | 9 | 9 |
t1=table(1..3 as x, 4..6 as y, 7..9 as z);
t1
x | y | z |
---|---|---|
1 | 4 | 7 |
2 | 5 | 8 |
3 | 6 | 9 |
t1.rename!(`a`b);
a | b | z |
---|---|---|
1 | 4 | 7 |
2 | 5 | 8 |
3 | 6 | 9 |
t1.rename!(`aa`bb`cc);
aa | bb | cc |
---|---|---|
1 | 4 | 7 |
2 | 5 | 8 |
3 | 6 | 9 |
t1.rename!(`bb`cc, `y`z);
aa | y | z |
---|---|---|
1 | 4 | 7 |
2 | 5 | 8 |
3 | 6 | 9 |
t1=table(1..3 as x, 4..6 as y, 7..9 as z, k);
t1
// 注意表使用了 k 的标签作为它的列名
x | y | z | rk |
---|---|---|---|
1 | 4 | 7 | 3 |
2 | 5 | 8 | 6 |
3 | 6 | 9 | 9 |