rename!

语法

rename!(X, Y, [Z])

参数

X 可以是向量、矩阵、非共享内存表或分布式表(仅支持 OLAP 引擎)

  • X 是向量时,Y 是表示标签的字符串。

  • X 是矩阵时,如果 Z 没有指定,则 Y 是列标签;如果 Z 指定了,Y 是行标签,而 Z 是列标签。列标签和行标签的长度分别需要等于 X 的列数和行数。YZ 可以是任意数据类型。

  • X 是非共享内存表时,YZ 是字符串标量或向量。如果 Z 没有指定,则 Y 从左到右是新的列名,用户应该确保新的列名的数量小于或等于表中列的总数;如果 Z 指定了,则 Y 是旧的列名,Z 是对应的新的列名。

  • X 是分布式表时,必须指定 YZ 且只能是字符串标量。其中 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