如何为julia中的重复列添加后缀或前缀?

如何为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

我有两个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    │ 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)