无法连接两个数据帧

时间:2016-03-01 17:49:08

标签: python pandas dataframe

我想在Pandas(python)中连接两个数据帧(df1,df2) 这样结果将包含df1的所有索引(唯一和常见)以及df2所具有但df1中没有的那些索引。一个例子:

DF1

     col1 col2
0     1   2
1     2   3
2     3   4

DF2

     col1 col2
1     4   6
2     2   3
3     5   5

我希望结果如下:

     col1 col2
0     1   2
1     2   3
2     3   4
3     5   5

2 个答案:

答案 0 :(得分:5)

使用combine_first

df3 = df1.combine_first(df2)

print(df3)

产量

   col1  col2
0     1     2
1     2     3
2     3     4
3     5     5

答案 1 :(得分:0)

定义要从df2获取的行列表,并将它们连接到df1

 ids = [x for x in df2.index if x not in df1.index]
 pd.concat([df1,  df2.ix[ids]])