我正在构建一个数据框架,我希望使用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