2つのデータフレームがあり、1つは(df1)下記の様な日別の売上記録
python
df1 = pd.DataFrame({'date': ["2021/1/1", "2021/1/2", "2021/1/3","2021/1/2","2021/1/4","2021/1/5"], '商品コード': ["A001", "B002", "A001","B003","A004","B001"], 'units': [10, 20, 30,40,50,60,], 'value': [10000, 20000, 30000,40000,50000,60000]}, index = None)
もう1つ(df2)は開始日と終了日が記載されているデータフレームがあり、df2の期間と商品コードに合致するデータをdf1から抽出・合計しdf2にmergeしたいです。
python
df2 = pd.DataFrame({'Startdate': ["2021/1/1", "2021/1/2", "2021/1/3","2021/1/2","2021/1/4","2020/1/4"], 'Enddate': ["2021/1/4", "2021/1/4", "2021/1/5","2021/1/2","2021/1/4","2021/1/4"], '商品コード': ["A001", "B002", "A001","A001", "A002", "B001"]})
実現したい形
Startdate Enddate 商品コード units value
0 2021/1/1 2021/1/4 A001 40 40000
1 2021/1/2 2021/1/4 B002 20 20000
2 2021/1/3 2021/1/5 A001 30 30000
3 2021/1/2 2021/1/2 A001 0 0
4 2021/1/4 2021/1/4 A002 0 0
5 2020/1/4 2021/1/4 B001 0 0
どのようにすればよろいいでしょうか。
groupbyやwhere等試してみたのですが、うまくいかずご教示いただけますと幸いです。
まだ回答がついていません
会員登録して回答してみよう