【发布时间】:2019-12-04 06:22:14
【问题描述】:
df1 是 all_cases
df2 是 all_bca
如果 EFE / Manual E-Form / Gate Pass No. 或 Realization Date 在两个 dfs 中匹配,则以下代码合并 all_cases 和 all_bca(3 columns)。
cross = pd.merge(all_cases,\
all_bca[['EFE / Manual E-Form / Gate Pass No.','Realization Date','BCA(FC)',\
'Foreign Bank Charges','Agent/Brokerage Commision'
]], on=('EFE / Manual E-Form / Gate Pass No.','Realization Date'), how='left')
如果两列都匹配,我想合并。我该怎么做。
所有案例
EFE / Manual E-Form / Gate Pass No. Realization Date
123456 1/1/2019
789654 2/18/2019
852147 1/3/2018
93258 1/4/2019
all_bca
EFE / ...... Realization Date BCA(FC) Charges Commision
123456 8/1/2019 88 8 8
789654 2/18/2019 300 30 10
852147 1/3/2018 500 25 20
93258 1/4/2019 1000 20 30
2530245 1/1/2019 333 33 33
想要的结果
EFE Realization Date BCA(FC) Charges Commision Check
123456 1/1/2019 - - - Not Match
789654 2/18/2019 300 30 10 Match
852147 1/3/2018 500 25 20 Match
93258 1/4/2019 - - - Not Match
电流输出
EFE Realization Date BCA(FC) Charges Commision Check
123456 1/1/2019 88 8 8 Match
789654 2/18/2019 300 30 10 Match
852147 1/3/2018 500 25 20 Match
93258 1/4/2019 1000 20 30 Match
【问题讨论】:
-
请提供一些示例输入数据
-
我的结果不是这样
-
在
merge()函数的on=子句中,您应该使用[]来传递列列表,而不是()。
标签: python pandas dataframe merge