Это было решено вручную с помощью следующего подхода (Pseudo Python Code):
Код: Выделить всё
known_slips= set()
def find_payment_slip(transaction):
return (
select(payment_slip_table)
.where(block_column == transaction.block_id)
.where(id_column.not_in(known_slips))
.order_by(block_column, id_column)
.limit(1)
)
def process_transaction():
transactions = load_transactions() # Not really important how the data gets loaded
for transaction in transactions:
slip = find_payment_slip(transaction)
if slip:
known_slips.add(slip.id)
transaction.slip_id = slip.id
transaction.update()
Я хотел попробовать использовать Pandas dataframe merge для достижения этого, но мой Исследования говорят мне, что я должен выполнить перекрестный apply , а затем фильтровать. тысячи.
Я понимаю, что могут быть и другие подходы с использованием pandas , однако я недостаточно знаком с библиотекой.
Есть ли Способ решить эту проблему с помощью решения Pandas ?
Подробнее здесь: https://stackoverflow.com/questions/793 ... dataframes