首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Julia -选择以另一个数据帧中的列为条件的数据帧的子集

Julia -选择以另一个数据帧中的列为条件的数据帧的子集
EN

Stack Overflow用户
提问于 2021-07-29 23:19:17
回答 1查看 70关注 0票数 2

在Julia中,我有两个dataframe,我想返回一个dataframe,该dataframe选择第一个dataframe中的行,这些行在列Fund中具有出现在第二个dataframe中的基金。一个简单的例子是:

df1 =DataFrame(基金= "AAA","AAA","BBB","CCC","DDD",购买= 1000,500,600,800,900)

df2 =DataFrame(基金= "AAA","CCC",总计=1000,200)

我想要返回的是:

df3 =DataFrame(基金= "AAA","AAA","CCC",购买= 1000,500,800)

我在df1中有大约10列和几千行。df2中的“基金”列将始终包含唯一的基金,并且将始终是df1的子集。基金也可能包含超过1,000行

我是Julia的新手,已经创建了下面的函数,我想知道是否有更好的方法来解决这个问题。

代码语言:javascript
复制
function newtransactions(df1,df2)
res = DataFrame([Any[],Any[]],["Fund", "Purchase"])
for t ∈ df2.Fund
    res = append!(res,subset(df1, :Fund => X-> (X .== t)))
end
return res

结束

EN

回答 1

Stack Overflow用户

发布于 2021-07-29 23:45:11

您需要执行innerjoin

代码语言:javascript
复制
julia> innerjoin(df1, df2, on=:Fund)
3×3 DataFrame
 Row │ Fund    Purchase  Totals
     │ String  Int64     Int64
─────┼──────────────────────────
   1 │ AAA         1000    1000
   2 │ AAA          500    1000
   3 │ CCC          800     200

请注意,如果您需要选择第一个或第二个表中的所有行,也可以使用leftjoinrightjoin

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68583759

复制
相关文章

相似问题

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