回答編集履歴

1

Update

2022/04/15 03:13

投稿

melian
melian

スコア21234

test CHANGED
@@ -18,15 +18,17 @@
18
18
  df = pd.read_csv(io.StringIO(csv_data))
19
19
 
20
20
  #
21
+ dfx = (
21
- dfx = df.groupby('category', group_keys=False).apply(lambda x: x.shift(-2).dropna())
22
+ df.groupby('category', group_keys=False)
23
+ .apply(lambda x: x.assign(X = x['X'].shift(-2)).dropna()))
22
24
  print(dfx)
23
25
 
24
26
  #
25
27
  category date X
26
- 0 A 2022-01-03 0.0
28
+ 0 A 2022-01-01 0.0
27
- 1 A 2022-01-04 1.0
29
+ 1 A 2022-01-02 1.0
28
- 2 A 2022-01-05 0.0
30
+ 2 A 2022-01-03 0.0
29
- 5 B 2022-01-03 0.0
31
+ 5 B 2022-01-01 0.0
30
- 6 B 2022-01-04 0.0
32
+ 6 B 2022-01-02 0.0
31
- 7 B 2022-01-05 1.0
33
+ 7 B 2022-01-03 1.0
32
34
  ```