Puedes dejar que SQL agrupe antes de que el resultado llegue a pandas.

Arrastra en el orden correcto los pasos para traer un resumen ya agrupado, usando pandas + SQL.

1resumen = pd.read_sql(consulta, conexion)
2conexion = sqlite3.connect('tienda.db')
3consulta = 'SELECT categoria, SUM(precio) as total FROM productos GROUP BY categoria'