这个问题在这里已有答案:
我有一个名为df1
的数据框,它是:
0
103773708 68.50
103773718 57.01
103773730 30.80
103773739 67.62
我有另一个名为df2
的是:
0
103773739 37.02
103773708 30.25
103773730 15.50
103773718 60.54
105496332 20.00
我想知道如何让他们结合起来看起来像df3
:
0 1
103773708 30.25 68.50
103773718 60.54 57.01
103773730 15.50 30.80
103773739 37.02 67.62
105496332 20.00 00.00
正如您所看到的,索引位置有时不一样,因此必须将数据附加到同一索引。目标是将column 0
中的df1
附加到df2
,同时将column 0
中的df2
超过一个。
result = df1.join(df2.rename(columns={0:1})).fillna(0)
只需合并索引,然后重新标记列:
df = pd.merge(df1, df2, left_index=True, right_index=True, how='outer')
df.columns = [0,1]
df = df.fillna(0)
df1.columns = ['1'] # Rename the column from '0' to '1'. I assume names as strings.
df=df2.join(df1).fillna(0) # Join by default is LEFT
df
0 1
103773739 37.02 67.20
103773708 30.25 68.50
103773730 15.50 30.80
103773718 60.54 57.01
105496332 20.00 0.00