PANDAS divide o quadro de dados em vários por linhas de valores exclusivos

Eu tenho um DataFrame no Pandas

      PRICE   Name     PER   CATEGORY   STORENAME
0      9.99    MF      gram  Indica     Store1
1      9.99    HY      gram  Herb       Store2
2      9.99    FF      gram  Herb       Store2

O que eu quero fazer é dividi-los em vários quadros de dados para ter nomes exclusivos e, em seguida, dividir por categoria.

Código atual:

names = df['STORENAME'].unique().tolist()   #find unique values
store1 = df[df['STORENAME']==names[0]]        
store2 = df[df['STORENAME']==names[1]]

Esse código funciona perfeitamente, mas estou me perguntando se existe uma maneira Pythonic, pois o número de lojas pode mudar.

Isso é necessário para traçar a diferença de preços nas categorias nas lojas.

Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion