Я знаю, что есть тонны вопросов группового фильтра о пандах, но я прошел через несколько из них, и у них нет того, что мне нужно.
В любом случае вот что у меня есть для фрейма данныхdf
:
user1 user2 date quantity
-----------------------------
Alice Bob 2018-05-21 100
Alice Bob 2018-05-19 20
Alice Carol 2018-01-01 1000
Bob Carol 2018-02-01 100
Я хочу вычислить функцию (скажем, некоторую функцию func
) количества для данной пары user1-user2
только для дней недели * только 1010 *.
Пока что у меня есть:
df['day'] = df['date'].dt.weekday
df.groupby(['user1','user2']).filter(lambda x: (x.day < 5).any() )
Но я не понимаю, чего я ожидаю.Очевидно, что фильтр делает выбор только тех пар, у которых хотя бы одна запись day
<5. Что мне нужно, так это все строки, где столбец <code>day меньше 5 для одной конкретной пары user1-user2
.