Если я понимаю, что вы пытаетесь сделать правильно, использование многоуровневого индекса может сработать, но это неуклюже:
import pandas as pd
df = pd.DataFrame({"User" : ["User1", "User1", "User1", "User1", "User1", "User1"], "Month" : ["Jan", "Jan", "Jan", "Feb", "Feb", "Feb"], "Score" : [5,10,30,30,30,40]})
users = df.User.unique()
months = df.Month.unique()
df =df.set_index(["User", "Month"])
for i in users:
for x in months:
print(df.loc[i].loc[x].Score.mean())
Затем измените оператор печати в зависимости от того, что вы хотите сделать с конечным результатом.