首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Dataframes.jl左连接等价于数组

Dataframes.jl左连接等价于数组
EN

Stack Overflow用户
提问于 2018-06-27 00:35:49
回答 1查看 167关注 0票数 0

是否有这样一个包可以离开联接数组,就像dataframes.jl如何离开dataframes.jl?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-27 18:21:53

如果将复杂的记录作为数组,最好只使用DataFrames.jl。将数组放入dataframes中,然后加入,然后使用Array构造函数进行提取。

如果您确切地知道左联接的逻辑将始终是什么,那么您应该能够有效地使用列表理解。不过,在通用的左联接的逻辑级别上,最好使用dataframes。

代码语言:javascript
运行
复制
julia> using DataFrames
julia> names = DataFrame(ID = [20, 40], Name = ["John Doe", "Jane Doe"])
2×2 DataFrames.DataFrame
│ Row │ ID │ Name     │
├─────┼────┼──────────┤
│ 1   │ 20 │ John Doe │
│ 2   │ 40 │ Jane Doe │

julia> jobs = DataFrame(ID = [20, 40], Job = ["Lawyer", "Doctor"])
2×2 DataFrames.DataFrame
│ Row │ ID │ Job    │
├─────┼────┼────────┤
│ 1   │ 20 │ Lawyer │
│ 2   │ 40 │ Doctor │

julia> arr = Array(join(names, jobs, on = :ID, kind = :left))
2×3 Array{Any,2}:
20  "John Doe"  "Lawyer"
40  "Jane Doe"  "Doctor"

..or

代码语言:javascript
运行
复制
julia> n = Array(names)
2×2 Array{Any,2}:
20  "John Doe"
40  "Jane Doe"

julia> j = Array(jobs)
2×2 Array{Any,2}:
20  "Lawyer"
40  "Doctor"

julia> [ [n[i,2], j[i,2]] for i in 1:size(n)[1] if n[i,1] == j[i,1]]
2-element Array{Array{String,1},1}:
String["John Doe", "Lawyer"]
String["Jane Doe", "Doctor"]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51053028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档