Python數(shù)據(jù)框補集是指在兩個數(shù)據(jù)框中取出其中一個數(shù)據(jù)框中獨有的數(shù)據(jù)。可以使用Python中的pandas庫實現(xiàn)。
import pandas as pd # 創(chuàng)建兩個數(shù)據(jù)框 df1 = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]}) df2 = pd.DataFrame({'A': [1, 2, 3], 'B': [5, 6, 7]}) # 查看兩個數(shù)據(jù)框 print('df1數(shù)據(jù)框:\n', df1) print('df2數(shù)據(jù)框:\n', df2) # 求df1數(shù)據(jù)框與df2數(shù)據(jù)框的補集 diff_df = df1[~df1.isin(df2)].dropna(how='all') # 查看補集結果 print('df1與df2的補集:\n', diff_df)
補集的計算方法是使用了pandas中的isin()函數(shù),判斷df1中的數(shù)據(jù)是否在df2中存在,返回一個布爾值的數(shù)據(jù)框,然后使用取反運算符~將布爾值反轉(zhuǎn),最后使用dropna()函數(shù)刪除全為NaN的行。
以上就是Python中使用pandas庫計算數(shù)據(jù)框補集的方法,適用于對比兩個數(shù)據(jù)框中不同數(shù)據(jù)的場景。