私は、テーブルの各行に対して、別のテーブルの行を繰り返し処理し、両方の値を更新する必要のあるプロジェクトを持っています。変更は、次の反復に固執する必要があります。それをする最善の方法は何ですか?データフレーム値を更新する方法
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
あなたにチェックが入っています。私のポストをupvoteしてください! – Mateyobi