1 回答
TA贡献1876条经验 获得超7个赞
你可以尝试这样的事情:
sliced=50
for i in range(0,len(df)-(sliced-1),sliced):
subdf=df.iloc[i:i+sliced,df.columns[:-2]]
....
#the rest of your code
所以,例如:
import numpy as np
import pandas as pd
N_rows=6
N_cols=5
df = pd.DataFrame(np.zeros((N_rows, N_cols)))
print(df)
sliced=2
for i in range(0,len(df)-(sliced-1),sliced):
subdf=df.iloc[i:i+sliced,df.columns[:-2]]
print(subdf)
print(subdf.shape)
输出:
df
0 1 2 3 4
0 0.0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0 0.0
3 0.0 0.0 0.0 0.0 0.0
4 0.0 0.0 0.0 0.0 0.0
5 0.0 0.0 0.0 0.0 0.0
Iterations:
0 1 2
0 0.0 0.0 0.0
1 0.0 0.0 0.0
(2, 3)
0 1 2
2 0.0 0.0 0.0
3 0.0 0.0 0.0
(2, 3)
0 1 2
4 0.0 0.0 0.0
5 0.0 0.0 0.0
(2, 3)
(2,3)因此,正如您所看到的,每次迭代都采用it means的形式(sliced, len(df.columns)-2),因此在您的情况下它将是(50, 25)。
添加回答
举报