Группировка по нескольким столбцам, если значение да?

#python #python-3.x #pandas #pandas-groupby

#python #python-3.x #панды #pandas-groupby #pandas

Вопрос:

Если у меня есть несколько столбцов, которые я хочу сгруппировать, например,

 User | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Enrolled. 
3     Yes      No          Yes         No        Yes      No          No
2      No      No          Yes         No         No      No         Yes
4      No      No           No         No         No      No         No
  

Каким был бы наилучший способ сгруппировать по дням, чтобы увидеть, сколько «да» встречается у каждого пользователя?

Ожидаемый Результат:

 Day     |  Amount
Monday     1
Tuesday     0
Wednesday   2
...
  

Комментарии:

1. У вас есть еще один понедельник, вторник и т.д. В вашем реальном фрейме данных?

Ответ №1:

Нам не нужно группировать по

 s = df.set_index('User').eq('Yes').sum(axis=1) 
  

Комментарии:

1. В df есть другие столбцы, которые не являются day, которые я просто не показывал, но я обновил df, чтобы показать — спасибо!

2. Это не учитывает имя столбца? Поскольку у меня есть другие столбцы

3. @Chris90 вы можете отфильтровать его, а затем выполнить выше df[[‘столбцы……]].eq(‘Yes’).sum(ось = 1)

4. извините, я не понял, я хотел, чтобы мой вывод был сгруппирован по дням, спасибо

5. в моем df есть столбцы, которые имеют значение да, а не день, который я не хочу вычислять