我正在研究一個基本的庫存系統,并且無法找到解決這個障礙的方法。我有兩個 Pandas 資料框,它們共享兩列:PLU 和 QTY。PLU 充當專案識別符號,QTY 是一個資料框中的專案數量,而另一個資料框中的銷售數量。以下是兩個非常簡單的資料示例:
最終購買:
PLU QTY
12345678 12
90123456 7
78901234 2
pmix_diff:
PLU QTY
12345678 9
90123456 3
78901234 1
在這種情況下,我想找到任何匹配的 PLU 并從 final_purch 數量中減去 pmix_df 數量。
在專案的早期部分,我使用聚合函式在對 QTY 列求和時去除重復項。它作業得很好,但我找不到用減法在這里做類似事情的方法。我對 Python/Pandas 相當陌生,因此非常感謝任何幫助。:)
uj5u.com熱心網友回復:
這是使用分配和合并的一種方法
df.assign(QTY = df['QTY'] - df.merge(df2, on='PLU', suffixes=('','_y'), how='left')['QTY_y'].fillna(0))
PLU QTY
0 12345678 3
1 90123456 4
2 78901234 1
uj5u.com熱心網友回復:
你可以這樣做:
df = final_purch.set_index('PLU').join(pmix_df.set_index('PLU'), lsuffix='final', rsuffix='pmix')
df['QTYdiff'] = df['QTYfinal']-df['QTYpmix']
輸出:
QTYfinal QTYpmix QTYdiff
PLU
12345678 12 9 3
90123456 7 3 4
78901234 2 1 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/496093.html
