我有两个数据框df1,df2如下所示:
df1
Date BillNo. Amount
10/08/2020 ABBCSQ1ZA 878
10/09/2020 AADC9C1Z5 11
10/12/2020 AC928Q1ZS 3998
10/14/2020 AC9268RE3 198
10/16/2020 AA171E1Z0 5490
10/19/2020 BU073C1ZW 3432
df2
Date BillNo. Amount
10/08/2020 ABBCSQ1ZA 876
10/11/2020 ATRC95REW 115
10/14/2020 AC9268RE3 212
10/16/2020 AA171E1Z0 5491
10/25/2020 BPO66W2LO 344
Run Code Online (Sandbox Code Playgroud)
我的最终答案应该是:
final
Date BillNo. Amount
10/08/2020 ABBCSQ1ZA 876
10/16/2020 AA171E1Z0 5491
Run Code Online (Sandbox Code Playgroud)
Date BillNo. Amount当值范围的差异在 [-5,5] 之间时,如何从两个数据框中找到公共行?
我知道如何使用以下方法查找公共行:
df_all = df1.merge(df2.drop_duplicates(), on=['Date', 'BillNo.', 'Amount'],
how='outer', indicator=True)
Run Code Online (Sandbox Code Playgroud)
但是,这不会给出范围内的行。有谁能帮忙吗?
编辑:我们可以看到在df1: 10/14/2020,AC9268RE3,198与df2: 10/14/2020,AC9268RE3,212不同的是14,因此这不应该被纳入共同行