【发布时间】:2021-06-28 23:20:32
【问题描述】:
我有两个数据框,df1 和 df2,它们都有相同的列 date。
df1的date列有几千万行,df1的date列不完整,可能重复。 df2 大约有几千行。 df2 的date 列完整,不再重复。如何使用numpyvectorization找出df1中不存在但df2中存在的date1数据并生成numpyndarray?
我试过np.where和groupby.size,但我找不到正确的使用方法。
【问题讨论】:
-
df2[~df2['date'].isin(df1['date'])]. -
或者如果你只想要日期,你可以使用 Python:
set(df2['date']).differrence(set(df1['date']))。 -
@QuangHoang 请不要将答案发布为 cmets。
-
@orlp,Quang 在声誉方面比你更有优势 :) 我知道对此存在不同意见,但我的理念是评论它是否是一个快速、未经测试的想法。通过解释和测试,我的答案要长得多。是的,有时 OP 要求我将其作为答案,以便他检查是否关闭。还不如因为走反了而被骂:)
-
set(df2['date']).differrence(set(df1['date']))接受AttributeError: 'set' object has no attribute 'differrence'
标签: python pandas dataframe numpy vectorization