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.