前提・実現したいこと
商品の月ごと時間帯ごとの売上リストがあります。
商品名をIndexとし、朝の年次売上合計、昼の年次売上合計、夕の年次売上合計を1つのExcelシートにまとめたいです。
<作りたい形>
python
1商品名 朝売上 昼売上 夕売上 2りんご 100 300 100 3みかん 100 400 40 4ぶどう 500 100 200 5バナナ 100 900 100 6 7#商品名は5000種ほどあります。
現在、pandasからpivot_tableを用いて、時間帯ごとの集計を行い、
朝_年次_売上.xlsx
昼_年次_売上.xlsx
夕_年次_売上.xlsx
の3つのファイルが手元に出来ました。
発生している問題
朝・昼・夕の各売上集計ファイルに記載された商品名が完全には一致していないため(売上がないと商品名が記録されない)、出来上がった朝・昼・夕の売上集計ファイルをpandas.concat()でヨコに並べると、集計がずれてしまいます。
python
1import pandas as pd 2df_morning=[] #朝年次売上 3df_noon=[] #昼年次売上 4df_evening=[] #夕年次売上 5 6df_all=pd.concat([df_morning,df_noon,df_evening], axis=1) 7 8print(df_all) 9 10#以下、出力結果サンプルです(朝昼夕で商品名がずれてしまう) 11商品名 朝売上 商品名 昼売上 商品名 夕売上 12りんご 100 りんご 300 りんご 100 13みかん 100 みかん 400 みかん 40 14ぶどう 500 バナナ 100 ぶどう200 15バナナ 100 すいか 900 すいか 100
試そうとしていること
pivot_tableでdf_morning, df_noon, df_eveningの商品名を3つまとめてpivot_tableのインデックスに読み込む方法がないか探しています。その後、3つまとめて作成したインデックスをもつpivot_tableに売上を集計すれば、朝・昼・夕で同じ商品名をもつ売上リストが出来るのでは?と思っています。しかしpivot_tableに複数のデータフレームから読み込む方法がまだ見つかりません。
それ以外の良い方法があればアドバイスをいただければ大変助かります。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/28 07:26