dataframe - 将 dict 中的键值对分配给 DataDrame 在 Julia 1.1 中不起作用
问题描述
我正在尝试DataFrame
从Dict
Julia 1.1 中构建 a。字典中的键是列名,值是包含列应该具有的值的向量。我虽然它会像
df = DataFrame()
for (key,value) in datadict
df[key] = value
end
但这会抛出一个ERROR: LoadError: MethodError: no method matching setindex!(::DataFrame, ::Array{String,1}, ::String)
. 我没有直接使用 tha 变量key
,而是尝试将符号:key
作为列名传递,如 in 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)
。
推荐阅读
- posix - 可以将使用 boost 库在传统软件堆栈中编写的应用程序移植到自适应 AUTOSAR 堆栈中吗
- multithreading - Express js 多线程
- c# - 提取文件头签名,因为它在 ASP.NET Core 中直接流式传输到磁盘
- javascript - 使用“Date.prototype.toISOString”时可以去掉“.000Z”吗?
- r - 从包含列中的数字和字母的字符串中删除数字字符(在R中)
- crystal-reports - 将 sap b1 中标准选择中没有值的字段传递给水晶报告
- python - 为什么 pyinstaller 创建的可执行文件不起作用?
- javascript - 如何创建用于在字符串中查找电子邮件地址的 JavaScript 正则表达式?
- postgresql - 从 AIX Oracle 到 Postgresql 的 DBLink
- signalr - Signalr Hub 中的后台任务