質問編集履歴

1

今出ているアウトプットと、本来出したいアウトプットの具体的な内容の追記

2020/10/19 06:12

投稿

kakedashi_mk_py
kakedashi_mk_py

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,30 @@
1
1
  column1, column2がある日次の取引集計データdfについて、以下のようにpivot_tableを使うとヘッダーが2行出ます。
2
2
 
3
3
  ```Python
4
+ import pandas as pd
5
+ df = pd.DataFrame({
6
+ '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'],
7
+ 'column1':['GroupA', 'GroupA', 'GroupB', 'GroupB', 'GroupA', 'GroupA', 'GroupB', 'GroupB'],
8
+ 'column2':['Categ1', 'Categ2', 'Categ1', 'Categ2', 'Categ1', 'Categ2', 'Categ1', 'Categ2'],
9
+ 'sales':['1000', '2000', '1500', '1200', '2200', '1300', '1400', '2100']
10
+ })
11
+
12
+ df = df.set_index('date')
4
13
  df_pivot = pd.pivot_table(df, index=df.index, columns=['column1', 'column2'], values='sales', aggfunc='sum')
5
14
  ```
15
+
6
16
  このdf_pivotを別のDataFrame(ヘッダーは1行)と縦結合する工程などで不都合が発生するので、df_pivotのヘッダーを1行に集約してしまいたいのですが、その方法が分からずなので、ご教示いただけると助かります。
7
17
 
18
+ 出したいアウトプットのイメージは下記です。
19
+ ```Python
20
+ df_pivot_dash = pd.DataFrame({
21
+ 'date': ['2020-10-01', '2020-10-02'],
22
+ 'GroupA_Categ1':['1000', '2200'],
23
+ 'GroupA_Categ2':['2000', '1300'],
24
+ 'GroupB_Categ1':['1500', '1400'],
25
+ 'GroupB_Categ2':['1200', '2100'],
26
+ })
27
+ df_pivot_dash
28
+ ```
29
+
8
30
  よろしくおねがいします。