У меня есть проект, где для каждой строки в таблице мне нужно перебирать строки из другой таблицы и обновлять значения в обоих. Изменения должны придерживаться следующей итерации. Каков наилучший способ сделать это?Как обновить значение dataframe
for invoice_line in invoices.itertuples():
qty = invoice_line.SHIP_QTY
for receipt_line in receipts[receipts.SKU == invoice_line.SKU].itertuples():
if qty > receipt_line.REC_QTY:
receipts.set_value(receipt_line.index,'REC_QTY',0)
qty = qty - receipt_line.REC_QTY
else:
receipts.set_value(receipt_line.index,'REC_QTY', receipt_line.REC_QTY - qty)
qty = 0
recd = receipt_line.REC_DATE
if qty < 1:break
invoices.set_value(invoice_line.index,'REC_DATE',recd)
set_value похоже не работает.
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(50, 4), columns=list('ABCD'))
for row in df.itertuples():
df.set_value(row.index,'test',row.D)
print df.head()
это определенно полезно! жаль, что у меня не хватило репутации, чтобы поддержать вас. – Mateyobi
Если это ответ на ваш вопрос, вы можете нажать зеленый флажок под стрелками голосования. Если не продержаться для лучшего ответа =). – John
Я проверил вас. пожалуйста, повысьте мой пост! – Mateyobi