by_row_index = df_concat.groupby(df_concat.index) df_means = by_row_index.mean() print df_means.head() # x y # 0 -0.850794 1.5 # 1 0.159038 1.5 # 2 0.083278 1.0 # 3 -0.540336 0.5 # 4 0.390954 3.5