根据来自两个数据框和多个条件的条件创建一对

时间:2019-12-11 15:28:11

标签: python pandas dataframe conditional-statements

我有两个数据框:

a:

TransID    Currency       Amount
1                 CAD        100
2                 USD         90

b:

TransID    Currency       Amount
3                 CAD         80
4                 EUR        100
5                 CAD        110   

条件是,如果两个TransID具有相同的货币,并且表a中的金额小于表b中的金额,则将输出作为两个对输出,即,在这种情况下,输出应为-

(1,3)

1 个答案:

答案 0 :(得分:2)

应该不是(1,5)(1,3)Amount_a > Amount_b吗?

(dfa.merge(dfb, on='Currency')
    .query('Amount_x < Amount_y')
    .filter(like='TransID')
    .values
)

输出:

array([[1, 5]], dtype=int64)
相关问题