column1, column2がある日次の取引集計データdfについて、以下のようにpivot_tableを使うとヘッダーが2行出ます。
Python
1import pandas as pd 2df = pd.DataFrame({ 3 'date':['2020-10-01', '2020-10-01', '2020-10-01','2020-10-01','2020-10-02','2020-10-02','2020-10-02','2020-10-02'], 4 'column1':['GroupA', 'GroupA', 'GroupB', 'GroupB', 'GroupA', 'GroupA', 'GroupB', 'GroupB'], 5 'column2':['Categ1', 'Categ2', 'Categ1', 'Categ2', 'Categ1', 'Categ2', 'Categ1', 'Categ2'], 6 'sales':['1000', '2000', '1500', '1200', '2200', '1300', '1400', '2100'] 7}) 8 9df = df.set_index('date') 10df_pivot = pd.pivot_table(df, index=df.index, columns=['column1', 'column2'], values='sales', aggfunc='sum')
このdf_pivotを別のDataFrame(ヘッダーは1行)と縦結合する工程などで不都合が発生するので、df_pivotのヘッダーを1行に集約してしまいたいのですが、その方法が分からずなので、ご教示いただけると助かります。
出したいアウトプットのイメージは下記です。
Python
1df_pivot_dash = pd.DataFrame({ 2 'date': ['2020-10-01', '2020-10-02'], 3 'GroupA_Categ1':['1000', '2200'], 4 'GroupA_Categ2':['2000', '1300'], 5 'GroupB_Categ1':['1500', '1400'], 6 'GroupB_Categ2':['1200', '2100'], 7}) 8df_pivot_dash
よろしくおねがいします。
回答1件
あなたの回答
tips
プレビュー