Если по умолчанию RangeIndex
, используйте целочисленное деление и перейдите к groupby
:
df = df.groupby(df.index // 3).mean()
print (df)
A B
0 4 5
1 13 14
Сведения :
print (df.index // 3)
Int64Index([0, 0, 0, 1, 1, 1], dtype='int64')
Общее решение с созданным массивомпо длине DataFrame - работа со всеми значениями индекса:
df = df.groupby(np.arange(len(df)) // 3).mean()
Detail :
print (np.arange(len(df)) // 3)
[0 0 0 1 1 1]