合并/串联/追加数据框熊猫

时间:2018-07-02 20:36:17

标签: pandas dataframe merge

我有两个看起来像这样的数据框:

df1:

 Index var1
 0      56
 1      67
 2      21

 Index var2
 0      89
 1      64
 2      31

当我添加或连接它们时,我得到了:

 Index var1 var2
 0      56  nan
 1      67  nan
 2      21  nan
 0      nan  89
 1      nan  64
 2      nan  31

但是我想得到这个:

 Index var1 var2
 0      56  89
 1      67  64
 2      21  31

我使用的命令是:

 pd.concat([df1, df2], axis=1)
 df1.append([df2])

编辑:

这是一个最小的示例:

 df1 = pd.DataFrame({'var1' : [56,67,21]})
 df2 = pd.DataFrame({'var2' : [89,64,31]})

 df1.to_dict()
 {'var1': {0: 56, 1: 67, 2: 21}}
 df2.to_dict() 
 {'var2': {0: 89, 1: 64, 2: 31}}

 df1.index.dtype
 dtype('int64')
 df2.index.dtype
 dtype('int64')

1 个答案:

答案 0 :(得分:0)

使用:

df1 = df1.set_index('Index')
df2 = df2.set_index('Index')
pd.concat([df1,df2], axis=1)

注意: :请确保索引位于数据框的索引中:

输出:

       var1  var2
Index            
0        56    89
1        67    64
2        21    31