回答編集履歴

2

Update

2022/07/11 04:11

投稿

melian
melian

スコア19840

test CHANGED
@@ -25,8 +25,7 @@
25
25
  #
26
26
  grp = df.query('citycode == "001(千代田区)"').groupby('id', group_keys=False)\
27
27
  .apply(lambda x: x.index.to_series().diff().ne(1).cumsum())
28
- df['diff'] = df.groupby(['id', grp])['Timestamp']\
28
+ df['diff'] = df.groupby(['id', grp])['Timestamp'].diff().dt.seconds.fillna(0) / 60.0
29
- .apply(lambda x: x.diff().dt.seconds.fillna(0) / 60.0)
30
29
  df['diff'] = df['diff'].fillna(0)
31
30
  df = df.groupby('id').apply(lambda x: x.assign(diff_sum = x['diff'].sum()))
32
31
 

1

Update

2022/07/11 04:06

投稿

melian
melian

スコア19840

test CHANGED
@@ -1,4 +1,3 @@
1
- ※ BB4 の結果がイメージと異なっています。確認してみて下さい。
2
1
  ```python
3
2
  import pandas as pd
4
3
  import io
@@ -24,7 +23,8 @@
24
23
  df = pd.read_csv(io.StringIO(csv_data), parse_dates=['Timestamp'])
25
24
 
26
25
  #
27
- grp = df.query('citycode == "001(千代田区)"').groupby('id').cumcount() // 2
26
+ grp = df.query('citycode == "001(千代田区)"').groupby('id', group_keys=False)\
27
+ .apply(lambda x: x.index.to_series().diff().ne(1).cumsum())
28
28
  df['diff'] = df.groupby(['id', grp])['Timestamp']\
29
29
  .apply(lambda x: x.diff().dt.seconds.fillna(0) / 60.0)
30
30
  df['diff'] = df['diff'].fillna(0)
@@ -42,10 +42,10 @@
42
42
  | 4 | A1 | 2022-06-10 15:41:00 | 001(千代田区) | 97 | 112 |
43
43
  | 5 | A1 | 2022-06-10 16:24:00 | 005(渋谷区) | 0 | 112 |
44
44
  | 6 | A1 | 2022-06-10 19:54:00 | 001(千代田区) | 0 | 112 |
45
- | 7 | BB4 | 2022-06-11 06:06:00 | 001(千代田区) | 0 | 306 |
45
+ | 7 | BB4 | 2022-06-11 06:06:00 | 001(千代田区) | 0 | 708 |
46
- | 8 | BB4 | 2022-06-11 07:58:00 | 006(目黒区) | 0 | 306 |
46
+ | 8 | BB4 | 2022-06-11 07:58:00 | 006(目黒区) | 0 | 708 |
47
- | 9 | BB4 | 2022-06-11 08:37:00 | 001(千代田区) | 151 | 306 |
47
+ | 9 | BB4 | 2022-06-11 08:37:00 | 001(千代田区) | 0 | 708 |
48
- | 10 | BB4 | 2022-06-11 17:50:00 | 001(千代田区) | 0 | 306 |
48
+ | 10 | BB4 | 2022-06-11 17:50:00 | 001(千代田区) | 553 | 708 |
49
- | 11 | BB4 | 2022-06-11 20:25:00 | 001(千代田区) | 155 | 306 |
49
+ | 11 | BB4 | 2022-06-11 20:25:00 | 001(千代田区) | 155 | 708 |
50
- | 12 | BB4 | 2022-06-11 22:33:00 | 006(目黒区) | 0 | 306 |
50
+ | 12 | BB4 | 2022-06-11 22:33:00 | 006(目黒区) | 0 | 708 |
51
51