如何为julia中的重复列添加后缀或前缀?
我有两个df,两个df都有一些公共列,它们不包括在列表的如何为julia中的重复列添加后缀或前缀?,julia,julia-dataframe,Julia,Julia Dataframe,我有两个df,两个df都有一些公共列,它们不包括在列表的中。如果我添加makeunique参数,它将创建后缀为_nwhere的新列。我是否可以将诸如[''u left'、''u right']之类的前缀值传递给结果df? 在pandas中,我可以传递一些参数lsuffix和rsuffix 样本输入: Df1: Df2: 内部联接结果: innerjoin(people, jobs, on = :ID, makeunique=true) │ Row │ ID │ Name │ Job
中。如果我添加makeunique
参数,它将创建后缀为_nwhere的新列。我是否可以将诸如[''u left'、''u right']之类的前缀值传递给结果df?
在pandas中,我可以传递一些参数lsuffix
和rsuffix
样本输入:
Df1:
Df2:
内部联接结果:
innerjoin(people, jobs, on = :ID, makeunique=true)
│ Row │ ID │ Name │ Job │ Name_1 │
│ │ Int64 │ String │ String │ String │
├─────┼───────┼─────────┼────────┼─────────┤
│ 1 │ 1 │ Mohamed │ Tech │ Md │
│ 2 │ 2 │ Thasin │ Tech │ Tn │
预期产出:
| Row │ ID │ Name_left│ Job │ Name_right │
│ │ Int64 │ String │ String │ String │
├─────┼───────┼─────────┼────────┼─────────┤
│ 1 │ 1 │ Mohamed │ Tech │ Md │
│ 2 │ 2 │ Thasin │ Tech │ Tn │
这还没有实施。你可以预期它将在今年被添加。看
您目前可以做的是:
innerjoin(rename!(s -> s == "ID" ? "ID" : s*"_left", DataFrame!(people)),
rename!(s -> s == "ID" ? "ID" : s*"_right", DataFrame!(jobs)),
on = :ID)
如果您不关心效率,希望代码更短一些,请使用:
innerjoin(rename(s -> s == "ID" ? "ID" : s*"_left", people),
rename(s -> s == "ID" ? "ID" : s*"_right", jobs),
on = :ID)
innerjoin(rename!(s -> s == "ID" ? "ID" : s*"_left", DataFrame!(people)),
rename!(s -> s == "ID" ? "ID" : s*"_right", DataFrame!(jobs)),
on = :ID)
innerjoin(rename(s -> s == "ID" ? "ID" : s*"_left", people),
rename(s -> s == "ID" ? "ID" : s*"_right", jobs),
on = :ID)