回答編集履歴

2

訂正

2021/08/29 05:09

投稿

meg_
meg_

スコア10716

test CHANGED
@@ -116,6 +116,6 @@
116
116
 
117
117
  ```
118
118
 
119
- ``df = df.loc[start : stop]``で``df``を上書きしてしまっています。
119
+ ``df = df.loc[start : stop]``で``df``を上書きしてしまっています。
120
120
 
121
- ``len(df) - l + 1``だと90ではなく91になります。
121
+ forループが二重になっているのはどういうロジックでしょうか?

1

追記

2021/08/29 05:09

投稿

meg_
meg_

スコア10716

test CHANGED
@@ -85,3 +85,37 @@
85
85
  ・・・
86
86
 
87
87
  ```
88
+
89
+
90
+
91
+ 質問のコードにはいくつか問題点があります。
92
+
93
+ ```Python
94
+
95
+ import pandas as pd
96
+
97
+ import numpy as np
98
+
99
+
100
+
101
+ length_of_df = 10
102
+
103
+ df = pd.DataFrame(np.random.rand(100, 5))
104
+
105
+ for i in range(100):
106
+
107
+ l = length_of_df
108
+
109
+ for start in range(len(df) - l + 1):
110
+
111
+ stop = start + l - 1
112
+
113
+ df = df.loc[start : stop]
114
+
115
+ print(df)
116
+
117
+ ```
118
+
119
+ ``df = df.loc[start : stop]``で``df``を上書きしてしまっています。
120
+
121
+ ``len(df) - l + 1``だと90ではなく91になります。