Dataframe 将dict中的键值对分配给DataDrame在Julia 1.1中不起作用

Dataframe 将dict中的键值对分配给DataDrame在Julia 1.1中不起作用,dataframe,dictionary,julia,data-conversion,Dataframe,Dictionary,Julia,Data Conversion,我正试图从Julia 1.1中的Dict构建一个DataFrame。字典中的键是列名,值是向量,包含列应该具有的值。我想这会很简单 df = DataFrame() for (key,value) in datadict df[key] = value end 但这会抛出一个错误:LoadError:MethodError:没有与setindex匹配的方法!(::数据帧,::数组{String,1},::String)。我没有直接使用变量key,而是尝试传递一个符号:key作为列名,如df

我正试图从Julia 1.1中的
Dict
构建一个
DataFrame
。字典中的键是列名,值是向量,包含列应该具有的值。我想这会很简单

df = DataFrame()
for (key,value) in datadict
  df[key] = value
end
但这会抛出一个
错误:LoadError:MethodError:没有与setindex匹配的方法!(::数据帧,::数组{String,1},::String)
。我没有直接使用变量
key
,而是尝试传递一个符号
:key
作为列名,如
df[:key]=value
,它删除错误消息,但只将第一个键值对作为列插入数据框,并将
key
作为列名:

10×1 DataFrame
│ Row │ key        │
│     │ String     │
├─────┼────────────┤
│ 1   │ 2019-03-04 │
│ 2   │ 2019-03-05 │
│ 3   │ 2019-03-06 │
│ 4   │ 2019-03-07 │
│ 5   │ 2019-03-08 │
│ 6   │ 2019-03-09 │
│ 7   │ 2019-03-10 │
│ 8   │ 2019-03-11 │
│ 9   │ 2019-03-12 │
│ 10  │ 2019-03-13 │

这显然不是我想要的。我在这里做错了什么?

此代码应该可以工作:

using DataFrames
datadict = Dict(1 => ["2019-03-04", "2019-03-04"], 2 => ["1996-26-12", "1996-25-12"])
df = DataFrame()
for (key, value) in datadict
       df[Symbol(key)] = value
end
您必须使用
Symbol(key)
创建钥匙的符号