np.isin () возвращает повторяющиеся результаты - PullRequest
2 голосов
/ 20 мая 2019

Я пытаюсь отфильтровать дубликаты, сравнивая фрейм данных с массивом np.array. С user_id=1 он фильтрует правильно. Однако user_id=8 это дает мне дубликаты. Почему?

Мой np.array usedUserArticlesIds =

array([[1202623831,          1]], dtype=int64)

Мой DataFrame dfUserArticles:

user_id article_id  date_saved
2   1   1202623831  2019-05-09 10:46:20
23  1   1127087222  2019-01-03 21:33:46
31  8   823279599   2019-05-20 13:42:16
32  8   327321877   2019-05-20 13:42:16
33  8   590862779   2019-05-20 13:42:15
34  8   2341781293  2019-05-20 13:41:55

dfUserArticles = dfUserArticles[~np.isin(dfUserArticles[['user_id', 'article_id']], usedUserArticlesIds)]

Выход:

    user_id article_id  date_saved
23  1   1127087222  2019-01-03 21:33:46
31  8   823279599   2019-05-20 13:42:16
31  8   823279599   2019-05-20 13:42:16
32  8   327321877   2019-05-20 13:42:16
32  8   327321877   2019-05-20 13:42:16
33  8   590862779   2019-05-20 13:42:15
33  8   590862779   2019-05-20 13:42:15
34  8   2341781293  2019-05-20 13:41:55
34  8   2341781293  2019-05-20 13:41:55

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

user_id article_id  date_saved
23  1   1127087222  2019-01-03 21:33:46
31  8   823279599   2019-05-20 13:42:16
32  8   327321877   2019-05-20 13:42:16
33  8   590862779   2019-05-20 13:42:15
34  8   2341781293  2019-05-20 13:41:55
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...