合并两个具有不同列名称的数据框

时间:2018-06-26 09:52:52

标签: python pandas

我有两个DateFrame,其值和行数不同。第二个DateFrame中的所有Index值都在第一个DateFrame中,因此,我需要一个Dateframe的行数与第二个DateFrame和两个DateFrames的所有数据相同。

示例

df1 = pd.DataFrame(columns=["A", "B", "C"], data=[['a1' , 'b1', 'c1'], ['a2',  'b2', 'c2'], ['a3',  'b3', 'c3']], index=[1,2,3])
df2 = pd.DataFrame(columns=["D", "E"], data=[['d2' , 'e2'], ['d3' , 'e3']], index=[2,3])
print (df1)
print (df2)

Out:
        A   B   C
    1  a1  b1  c1
    2  a2  b2  c2
    3  a3  b3  c3

        D   E
    2  d2  e2
    3  d3  e3

我想要:

      A   B    C   D   E
2    a2  b2   c2   d2  e2 
3    a3  b3   c3   d3  e3

我尝试:

merge = df1.merge(df2, how='inner', left_on=df1.index, right_on=df2.index)

但是我收到一个错误:

  

IndexError:索引超出范围

注意:并非df1中的所有索引都在df2中,但df2中的所有索引都在df1中。

0 个答案:

没有答案