加入Python

时间:2017-04-13 21:15:52

标签: python python-3.x join outer-join

我有两个数据帧,通过一个单独的键包含最多3个不同字符串的计数(因此每个键最多可以包含3个字符串):

df1:

key    var1    count
 0      abc      4
 0      lkj      2
 0      bcs      1
 1      zst      2
 1      stt      1
 1      sdf      1
 2      qwe      1
 3      dfg      8
 3      jkl      2

df2:

key    var1    count
 1      abc      4
 2      bcs      1
 3      zst      1
 4      stt      3
 4      sdf      1
 4      qwe      1
 5      dfg      5
 5      jkl      4
 6      oiu      3
 7      hkj      1

我需要通过键列进行完全连接,以便所有计数都由键组合。生成的数据集应如下所示:

key    var1    count   key   var2     count
 0      abc      4
 0      lkj      2
 0      bcs      1
 1      zst      2     1      abc      4
 1      stt      1
 1      sdf      1
 2      qwe      1     2      bcs      1
 3      dfg      8
 3      jkl      2
                      4      stt      3
                      4      sdf      1
                      4      qwe      1
                      5      dfg      5
                      5      jkl      4
                      6      oiu      3
                      7      hkj      1

什么是解决方案?

1 个答案:

答案 0 :(得分:0)

df3 = pd.merge(df1.reset_index(), df2.reset_index(),on=['key'], how='outer').set_index(['key'])