我有两个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中。