按如下方式创建矩阵:
Matice = rand(10, 10)
Matice = convert(DataFrame, Matice)
想要将列名更改为A,B,C,......
NewColNames = Array(String,ncol(Matice))
for i = 1:(ncol(Matice))
NewColNames[i] = string('A' + (i-1))
end
names!(Matice, NewColNames)
最后一行产生错误。 还尝试做更直接的事情,例如:
for i = 1:(ncol(Matice))
names(Matice)[i] = string('A' + (i-1))
end
但它不再起作用了。 任何帮助将不胜感激。
答案 0 :(得分:1)
我认为值得添加三个评论:
1)生成所需符号的最简单代码可能是
Symbol.('A':'A'+ncol-1)`
其中ncol
是您想要的列数。
2)目前你可以从向量向量创建DataFrame
并在构造函数中给出变量的名称,例如:
DataFrame([rand(10) for i in 1:10], Symbol.('A':'J'))
3)当合并并发布this PR to DataFrames时(可能最多几周),您将能够使用矩阵编写相同内容:
DataFrame(rand(10, 10), Symbol.('A':'J'))
答案 1 :(得分:0)
在Dan的帮助下,在不创建NewColNames向量的情况下发布替代解决方案:
names!(Matice, [Symbol('A' + (i-1)) for i in 1:(ncol(Matice))])