I am posting the answer that I came up with. A better and efficient answers are always welcomed.
def avg_dataframe(list_of_dataframes:list, common_index_column:str = 'Model') -> pd.DataFrame :
scoresheet = None
for num,i in enumerate(list_of_dataframes):
i = i.reset_index()
i = i.sort_values(common_index_column)
if num == 0:
scoresheet = i
else:
scoresheet = pd.concat([scoresheet, i], ignore_index=True)
return scoresheet
```
and then use groupby method as;
new_scoresheet = avg_dataframe(data_list)
new_scoresheet.groupby('Model').mean()
this worked for me.