Я нашел способ сделать группу и получить счет на основе двух полей:
df.groupby(['brand','result']).size()
df.groupby(['brand','result']).count()
Это дает те же результаты. Мои данные теперь выглядят так:
Johnson's Baby Powder negative 21
neutral 5
positive 121
Estee Lauder negative 7
positive 23
Calvin Klein negative 10
neutral 3
positive 29
Я хотел бы получить процент результатов для каждой марки, например так.
Johnson's Baby Powder negative 21 0.142857143
neutral 5 0.034013605
positive 121 0.823129252
Estee Lauder negative 7 0.233333333
positive 23 0.766666667
Calvin Klein negative 10 0.238095238
neutral 3 0.071428571
positive 29 0.69047619
В конечном счете, я хочу показать только «бренд», который имеет «результат» с отрицательным> 20%.
Итак, я хочу увидеть это (и другие бренды, которые соответствуют правилам бизнес-логики c).
Estee Lauder negative 7 0.233333333
positive 23 0.766666667
Как я могу это сделать?