Вот минимальное рабочее решение, которое берет один столбец и отображает их сумму в зависимости от вашего примера.Это может быть не самый умный способ сделать это, но дает вам то, что вы хотите.
import pandas as pd
df = pd.DataFrame({'number': [1,34,56,45,4, 3, 11, 3],
'users':['user1','user2','user3','user4','user5', 'user1','user5','user1']})
df1 = df.groupby(['users']).sum().reset_index()
df1 = df1.set_index('users')
plot = df1.plot.pie(y='number', figsize=(6, 6))
Вывод