在移动列位置时合并两个数据框

时间:2018-11-20 19:35:22

标签: python pandas

我有一个名为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推到一个。

3 个答案:

答案 0 :(得分:0)

仅在索引上合并,然后重新标记列:

df = pd.merge(df1, df2, left_index=True, right_index=True, how='outer')
df.columns = [0,1]
df = df.fillna(0)

答案 1 :(得分:0)

 result = df1.join(df2.rename(columns={0:1})).fillna(0)

答案 2 :(得分: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