回答編集履歴

2

補足を追加

2019/11/15 07:54

投稿

magichan
magichan

スコア15898

test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
 
60
60
 
61
- であれば ``rolling()``で行うことができます。
61
+ であれば ``groupby()``ではなく``rolling()``で行うことができます。
62
62
 
63
63
 
64
64
 

1

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

2019/11/15 07:54

投稿

magichan
magichan

スコア15898

test CHANGED
@@ -47,3 +47,41 @@
47
47
  #Name: gFz, dtype: float64
48
48
 
49
49
  ```
50
+
51
+
52
+
53
+ ---
54
+
55
+ **追記**
56
+
57
+ > +1行ずつずらしていく
58
+
59
+
60
+
61
+ であれば ``rolling()``で行うことができます。
62
+
63
+
64
+
65
+ ```Python
66
+
67
+ import pandas as pd
68
+
69
+ import numpy as np
70
+
71
+
72
+
73
+ #乱数でダミーデータ生成
74
+
75
+ df = pd.DataFrame(np.random.uniform(-2.0, 100., (17950,4)),
76
+
77
+ columns = ['gFx','gFy','gFz','TgF'])
78
+
79
+ # gFzが-0.1以下の行を450行毎にカウント
80
+
81
+ #ret = (df['gFz']<=-0.1).groupby(df.index//450*450).sum()
82
+
83
+ ret = (df['gFz']<=-0.1).rolling(450).sum()
84
+
85
+ print(ret)
86
+
87
+ ```