Подсчитать вхождения элементов в 2 фрейма данных и затем проверить, чтобы сравнить 2 даты - PullRequest
0 голосов
/ 11 мая 2018

В настоящее время я пытаюсь взять 2 фрейма данных, посмотреть, есть ли вхождения в 2 столбца в одном, а затем сравнить и посмотреть, произошли ли они в один и тот же день, поэтому пример данных будет:

df1:
user   Last_used
user1  10-7-2017
user2  10-20-2018
user3  1-12-2015

df2:
user  occurence
user1 10-7-2017
user1 10-7-2017
user2 10-10-2017
user2 10-20-2018
user3 1-12-2015
user3 09-14-2016

Мои результаты будут:

df1
user    Last_used   occurrences_that_day
user1   10-7-2017   2
user2   10-20-2018  1
user3   1-12-2015   1

Я знаю, что я могу использовать map, сделайте это с 1 из значений, но если я попытаюсь отобразить последнее использовавшееся событие и вхождение, и есть числа, кратные этой дате, это будет показано, даже если идентификатор пользователя отличается

Одна вещь, которую я должен также отметить, состоит в том, что оба моих фрейма данных имеют строки более 150 тыс.

1 Ответ

0 голосов
/ 11 мая 2018

Вы можете сделать merge с groupby agg

df1.merge(df2,left_on=['user','Last_used'],right_on=['user','occurence']).groupby('user').occurence.agg(['count','last'])
Out[129]: 
       count        last
user                    
user1      2   10-7-2017
user2      1  10-20-2018
user3      1   1-12-2015
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...