np.isin()返回重复结果

时间:2019-05-20 14:25:45

标签: python pandas numpy

我正在尝试通过将数据帧与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

0 个答案:

没有答案