我正在尝试将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)
答案 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