Это было решено вручную с помощью следующего подхода (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 для достижения Это, но мои исследования говорят мне, что я должен выполнить cross-apply , а затем фильтровать. таблиц, которые легко превосходят тысячи. Там способ решить эту проблему с решением Pandas?
Подробнее здесь: https://stackoverflow.com/questions/793 ... dataframes