pandas dataframe 取差集

方法一:
pd.concat([df1,df2]).drop_duplicates(keep=False)
这个是很聪明的方法,而且保留了原来的index

方法二:
利用set对象求差集,并还原成dataframe
set1 = set([tuple(row) for row in df1.values])
set2 = set([tuple(row) for row in df2.values])

pd.DataFrame(list(set1.difference(set2)),columns=df1.columns)
如果这里不设定column name,系统是用0、1、2、3命名列

留言

熱門文章