回答編集履歴

2

Update

2022/03/16 04:58

投稿

melian
melian

スコア19840

test CHANGED
@@ -23,8 +23,8 @@
23
23
  df.groupby('組み合わせ', as_index=False)
24
24
  .agg(
25
25
  組み合わせ = ('組み合わせ', lambda x: '&'.join(x.values[0])),
26
- 売れた数 = ('No', 'count'),
26
+ 売れた数 = ('No', 'count'),
27
- 支払額 = ('支払額', lambda x: -x.sum()))
27
+ 支払額 = ('支払額', lambda x: -x.sum()))
28
28
  .sort_values('支払額', ascending=False)
29
29
  .reset_index(drop=True))
30
30
 

1

Update

2022/03/16 04:57

投稿

melian
melian

スコア19840

test CHANGED
@@ -18,22 +18,22 @@
18
18
  df = pd.read_csv(io.StringIO(csv_data), parse_dates=['時刻'])
19
19
 
20
20
  #
21
+ df['組み合わせ'] = df[['商品A', '商品B']].agg(frozenset,1)
21
22
  dfx = (
22
- df.groupby(df[["商品A","商品B"]].agg(frozenset,1))
23
+ df.groupby('組み合わせ', as_index=False)
23
24
  .agg(
25
+ 組み合わせ = ('組み合わせ', lambda x: '&'.join(x.values[0])),
24
26
  売れた数 = ('No', 'count'),
25
27
  支払額 = ('支払額', lambda x: -x.sum()))
26
- .sort_values('支払額', ascending=False))
28
+ .sort_values('支払額', ascending=False)
27
-
28
- dfx.index = dfx.index.str.join('&')
29
+ .reset_index(drop=True))
29
- dfx = dfx.reset_index().rename(columns={'index': '組み合わせ'})
30
30
 
31
31
  print(dfx)
32
32
 
33
33
  #
34
34
  組み合わせ 売れた数 支払額
35
35
  0 みかん&レモン 3 1310
36
- 1 りんご&みかん 3 680
36
+ 1 みかん&りんご 3 680
37
- 2 りんご&桃 1 500
37
+ 2 桃&りんご 1 500
38
38
  3 みかん&ぶどう 1 400
39
39
  ```