Python中如何从两个DataFrame提取唯一ID的记录?
提取df2中独有的记录
直接用取反操作符~把你得到的布尔序列反转,然后用它过滤df2就行,一步到位:
# 生成标记:True代表该ID不在df1里 mask = ~df2['ID'].isin(df1['ID']) # 筛选得到df3 df3 = df2[mask]
或者合并成一行更简洁:
df3 = df2[~df2['ID'].isin(df1['ID'])]
原理很简单:isin()返回的布尔序列里,True表示当前ID在df1中存在,~把它反转后,True就变成了df2独有的ID,用这个布尔数组去索引df2,就能直接拿到对应的完整行记录。
内容的提问来源于stack exchange,提问作者Rigwarl
相关产品推荐
相关产品推荐

