我想命名空白DataFrame的列名.
我很难(重新)在v0.6中命名DataFrame的多个列.
我试过生成名字:
df = DataFrame()
nms = [":x$i" for i in 1:2]
df[nms[1] = rand(10)]
df[nms[2] = rand(10)]
Run Code Online (Sandbox Code Playgroud)
但名称的符号要求不适用于$宏.有人有修复吗?
df = DataFrame()
nms = [Symbol("x$i") for i in 1:2]
df[nms[1]] = rand(10)
df[nms[2]] = rand(10)
Run Code Online (Sandbox Code Playgroud)
与所讨论的代码最相似.关键是使用Julia Symbols而不是字符串索引DataFrames.
更紧凑的方法df是使用DataFrame构造函数,该构造函数将列作为参数.有一个,但参数是命名参数,所以你需要splat(即...)一个Dict插入参数.Dict本身需要以编程方式生成.要维护Dict中列的特定顺序,您需要一个OrderedDict.结果是:
using DataFrames, DataStructures
df = DataFrame(;OrderedDict((Symbol("x$i")=>rand(10) for i=1:3)...)...)
Run Code Online (Sandbox Code Playgroud)