質問するログイン新規登録

回答編集履歴

2

補足を追加

2019/11/15 07:54

投稿

magichan
magichan

スコア15898

answer CHANGED
@@ -28,7 +28,7 @@
28
28
  **追記**
29
29
  > +1行ずつずらしていく
30
30
 
31
- であれば ``rolling()``で行うことができます。
31
+ であれば ``groupby()``ではなく``rolling()``で行うことができます。
32
32
 
33
33
  ```Python
34
34
  import pandas as pd

1

コメントをうけて回答を編集

2019/11/15 07:54

投稿

magichan
magichan

スコア15898

answer CHANGED
@@ -22,4 +22,23 @@
22
22
  #17100 6.0
23
23
  #17550 9.0
24
24
  #Name: gFz, dtype: float64
25
+ ```
26
+
27
+ ---
28
+ **追記**
29
+ > +1行ずつずらしていく
30
+
31
+ であれば ``rolling()``で行うことができます。
32
+
33
+ ```Python
34
+ import pandas as pd
35
+ import numpy as np
36
+
37
+ #乱数でダミーデータ生成
38
+ df = pd.DataFrame(np.random.uniform(-2.0, 100., (17950,4)),
39
+ columns = ['gFx','gFy','gFz','TgF'])
40
+ # gFzが-0.1以下の行を450行毎にカウント
41
+ #ret = (df['gFz']<=-0.1).groupby(df.index//450*450).sum()
42
+ ret = (df['gFz']<=-0.1).rolling(450).sum()
43
+ print(ret)
25
44
  ```