df
処理No | 数量 | 単価 | 金額 | 商品名 |
---|---|---|---|---|
1 | 10 | 100 | 1000 | A |
1 | 5 | 50 | 250 | B |
2 | -5 | 10 | -50 | B |
1 | 20 | 10 | 200 | C |
2 | -20 | 5 | -100 | C |
処理No1=売上
処理No2=値引
B,Cは数量に対して値引き処理がされています。
商品名毎に販売された数量と合計金額を出したいです。
「groupby」 を使用すると金額は良いのですが値引き分の数量も反映されてしまい
実際販売した数量が値引き分も計算されてしまい「0」になります。
何か良い方法はありませんでしょうか。
よろしくお願い致します。
欲しい結果
商品名 数量 金額
A 10 1000
B 5 200
C 20 100
import pandas as pd df = pd.DataFrame ( data={"処理No":[1,1,2,1,2], "数量":[10,5,-5,20,-20], "単価":[100,50,10,10,5], "金額":[1000,250,-50,200,-100], "商品名":["A","B","B","C","C"]}) df = pd.DataFrame(df,columns =["商品名","数量","金額"]) df2 = df.groupby("商品名").sum()
試した結果
商品名 数量 金額
A 10 1000
B 0 200
C 0 100
使っているツールのバージョンなど補足情報
Windows10
python3.9 64bit
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/07 21:19