PANDAS divide el marco de datos en varias filas de valores únicos

Tengo un DataFrame en 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

Lo que quiero hacer es dividirlos en múltiples marcos de datos para tener nombres únicos, luego dividirlos en categoría.

Código actual:

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

Este código funciona perfectamente, pero me pregunto si hay una forma pitónica, ya que la cantidad de tiendas puede cambiar.

Esto es necesario para trazar la diferencia de precios en categorías en las tiendas.

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta