我有两个数据框:
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)
答案 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)