您需要使用模运算符来“批量”重塑您的列。你走在正确的轨道上。您只需要另一个迭代器来执行模运算。
import pandas as pd
df = pd.DataFrame({'brick': ['xx','yy','xa','bd','ev','bb','oo','pp','qq','bn','nv','bn','rr','qw','bn','cd','fd','bv','nm','ty']})
start = 0 # set start to 0 for slicing
for i in range(len(df.index)):
if (i + 1) % 10 == 0: # the modulo operation
result = df['brick'].iloc[start:i+1].reshape(2,5)
print result
start = i + 1 # set start to next index
Output:
[['xx' 'yy' 'xa' 'bd' 'ev']
['bb' 'oo' 'pp' 'qq' 'bn']]
[['nv' 'bn' 'rr' 'qw' 'bn']
['cd' 'fd' 'bv' 'nm' 'ty']]