Объединение многих с pandas dataframesPython

Программы на Python
Anonymous
 Объединение многих с pandas dataframes

Сообщение Anonymous »

Я должен соответствовать платежным проливам с данными Transaction . Эти два набора данных не связаны напрямую, так как среди них нет общего идентификатора. их как можно ближе. с тем же block_id останется непревзойденным.
Это было решено вручную с помощью следующего подхода (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

Вернуться в «Python»