Divida o DataFrame em um dicionário de grupos de várias colunas

Eu tenho um quadro de dados como este:

     df = pd.DataFrame({
               'Client':['A','B','C','D','E'],  
               'Revenue':[100,120,50,40,30],  
               'FYoQ':['FY','Q','Q','Q','FY'],  
              'Quarter':[np.nan,1,3,4,np.nan],  
              'Year':[2017,2016,2015,2017,2016]
        })

Como dividir o quadro de dados para obter um quadro de dados do dicionário bidimensional
ds [ano] [trimestre] para cada ano e trimestre.

No momento, sou capaz de fazer um dicionário unidimensional da seguinte maneira:

   years=df['Year'].unique().tolist()  
   mc={elem:pd.DataFrame for elem in years}  

  for year in years:  
      mc[year]=df.loc[(df['Year']==year)]  

Dessa forma, obtenho um dicionário de dataframe mc [2015], mc [2016] etc.
E então eu novamente tenho que aplicar a mesma coisa a cada um deles.

Eu esperava que houvesse uma modificação do código:

  mc={elem:pd.DataFrame for elem in years}  

criar um dicionário bidimensional (ou mesmo multidimensional) de uma só vez, permitindo a divisão de dados mais rapidamente.

questionAnswers(2)

yourAnswerToTheQuestion