将2个数据帧附加到1个新数据帧中

时间:2019-10-31 03:57:37

标签: python pandas

我正在尝试将2个不同数据帧中的数据合并为1个新数据帧,并且两个数据帧的列都混杂在一起。

我想合并数据,以便df1和df2值位于DF3中,其中df1和df2的'Ref'值出现在df3'Ref'列下, df1和df2中的“金额”值显示在df3的“金额”列中,依此类推

df1

Ref Amount  Receiver    Payer   Month
1   2000    X           Chris   Jan
2   2222    Y           Jinnn   Jan
3   3002    Z           Chhhh   Jan
4   10000   ZZ          BBBB    Jan
5   25233   ZZZ         CCCCC   Jan

df2

Ref Month   Receiver    Payer   Amount
1   Feb      111         AAA    3000
2   Feb      222         BBB    4000
3   Feb      333         CCC    5000
4   Feb      444         DDD    6000
5   Feb      555         EEE    6000

df 3

Ref Amount  Receiver    Payer   Month
1   2000           X    Chris   Jan
2   2222           Y    Jinnn   Jan
3   3002           Z    Chhhh   Jan
4   10000         ZZ    BBBB    Jan
5   25233        ZZZ    CCCCC   Jan
1   3000         111    AAA     Feb
2   4000         222    BBB     Feb
3   5000         333    CCC     Feb
4   6000         444    DDD     Feb
5   6000         555    EEE     Feb

尝试了下面的代码,但是我收到了意外的结果。我不需要新数据框中的其他列。

使用concat是正确的方法吗?

感谢指导

我尝试使用以下逻辑进行编码。

import pandas_datareader.data as pdr


import pandas as pd
import numpy as np

df1 = pd.read_excel("C:\\Month1.xlsx")
df2 = pd.read_excel("C:\\Month2.xlsx")

df_3 = pd.concat([df1, df2], ignore_index=True)

1 个答案:

答案 0 :(得分:1)

您可能需要像这样添加参数sort=False

df_3 = pd.concat([df1, df2], ignore_index=True,sort=False)

输出:

    Ref Amount  Receiver    Payer   Month
0   1   2000    X   Chris   Jan
1   2   2222    Y   Jinnn   Jan
2   3   3002    Z   Chhhh   Jan
3   4   10000   ZZ  BBBB    Jan
4   5   25233   ZZZ CCCCC   Jan
5   1   3000    111 AAA     Feb
6   2   4000    222 BBB     Feb
7   3   5000    333 CCC     Feb
8   4   6000    444 DDD     Feb
9   5   6000    555 EEE     Feb