回答編集履歴

1

2022/11/26 07:29

投稿

melian
melian

スコア19803

test CHANGED
@@ -13,3 +13,20 @@
13
13
  | 1018 | A | 10 | 60 |
14
14
  | 1017 | A | 60 | 0 |
15
15
 
16
+ > 今出した合計(sum)の所を平均にしたい場合
17
+
18
+ `expanding()` を使います。
19
+
20
+ ```python
21
+ df['past'] = df.groupby('shop', group_keys=False)\
22
+ .apply(lambda x: x.sort_values('data')['profit'].shift().expanding().mean())
23
+ ```
24
+
25
+ | data | shop | profit | past |
26
+ |-------:|:------:|---------:|-------:|
27
+ | 1022 | A | 20 | 35 |
28
+ | 1020 | B | 34 | nan |
29
+ | 1018 | A | 10 | 60 |
30
+ | 1017 | A | 60 | nan |
31
+
32
+