質問編集履歴
1
2つの要素についてgroupbyした場合について
test
CHANGED
File without changes
|
test
CHANGED
@@ -15,20 +15,23 @@
|
|
15
15
|
```ここに言語名を入力
|
16
16
|
ソースコード
|
17
17
|
import pandas as pd
|
18
|
+
|
18
19
|
df = pd.DataFrame({'data': [1022, 1020,
|
19
20
|
1018, 1017,1015,1013,1012],
|
20
21
|
'shop': ['A', 'B', 'A', 'A','A','B','A'],
|
21
|
-
'profit': [20, 34, 10, 60,50,30,20]
|
22
|
+
'profit': [20, 34, 10, 60,50,30,20],
|
23
|
+
'type' : [1,2,2,1,3,2,1]})
|
22
24
|
|
23
|
-
df['profit_2']=[
|
25
|
+
df['profit_2']=[40,30,0,20,0,0,0] #shop,typeでgroupbyして過去2回のprofitの平均を入れたい
|
24
26
|
|
25
27
|
|
26
28
|
試したこと
|
27
|
-
de
|
29
|
+
indexer = pd.api.indexers.FixedForwardWindowIndexer(window_size=3)
|
28
|
-
|
30
|
+
df['profit_2'] = df.groupby(['shop','type'])['profit'].rolling(indexer, min_periods=2)\
|
31
|
+
.agg(lambda x: x.iloc[1:].mean()).fillna(0, downcast='infer')\
|
29
|
-
ret
|
32
|
+
.reset_index(level='shop', drop=True)
|
30
33
|
|
31
|
-
me
|
34
|
+
TypeError: incompatible index of inserted column with frame index
|
32
35
|
|
33
36
|
```
|
34
37
|
|