Julia日期作为列名



我正在构建一个数据框架,我希望使用Julia的Dates作为列的名称,这可能吗?

那就是如果我有一个数据帧

df = DataFrame(); df.DateTime(2013)=2:4

其返回错误。

DataFrame的列标识符是Symbol,因此需要将DateTime转换为Symbol:

julia> df = DataFrame();
julia> df[!, Symbol(DateTime(2013))] = 2:4;
julia> df
3×1 DataFrame
│ Row │ 2013-01-01T00:00:00 │
│     │ Int64               │
├─────┼─────────────────────┤
│ 1   │ 2                   │
│ 2   │ 3                   │
│ 3   │ 4                   │

这也适用于具有相同结果的String

julia> df[!, string(DateTime(2014))] = 12:14;
julia> df
3×2 DataFrame
│ Row │ 2013-01-01T00:00:00 │ 2014-01-01T00:00:00 │
│     │ Int64               │ Int64               │
├─────┼─────────────────────┼─────────────────────┤
│ 1   │ 2                   │ 12                  │
│ 2   │ 3                   │ 13                  │
│ 3   │ 4                   │ 14                  │

最后要注意的是,df[:colname]语法被贬低为有利于df[!, :colname],但为了找到它,您需要从Julia开始使用:

julia --depwarn=yes

最新更新