def mean_pandas(your_df, start_roling=0, mean_roling = 3): a = [df.iloc[:,range(i,i+mean_roling)].mean(axis=1) for i in range(start_roling,len(df),mean_roling) if i+mean_roling<=len(df)] b = pd.DataFrame(np.array(a).T) return bmean_pandas(your_df, 0, 3)