移动列位置时合并两个数据帧[重复]

问题描述 投票:1回答:3

这个问题在这里已有答案:

我有一个名为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超过一个。

python pandas
3个回答
0
投票
 result = df1.join(df2.rename(columns={0:1})).fillna(0)

0
投票

只需合并索引,然后重新标记列:

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

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
© www.soinside.com 2019 - 2024. All rights reserved.