pandas求兩個表格不相交的集合
阿新 • • 發佈:2018-12-13
首先先造兩個DataFrame來做示例。
import pandas as pd a0={"number":range(10),"letter":["a","a","b","b","c","f","f","e","h","w"]} a=pd.DataFrame(a0) b0={"number":range(15),"letter":["b","a","t","b","r","f","g","e","j","w","t","h","i","y","u"]} b=pd.DataFrame(b0)
看一下兩個DataFrame的樣子
a b
關於差集,我們是要去除兩個DataFrame中公共的部分,因此我的想法是:
(1)先將兩個DataFrame融合為一個DataFrame;
(2)去掉當中公共的部分(使用drop_duplicates去重)。
下面來看一下程式碼:
c=a.append(b) c.drop_duplicates(keep=False,inplace=True) c.reset_index() 這裡想要說明的是,drop_duplicates當中的引數keep=False,意為重複項全部刪除,它還有keep="first"與keep="last",分別對應在有多項重複時,保留第一項(或最後一項)。具體可參考官方文件。
得到的效果是雖然過程很簡單,但是很好用
同樣的道理可用來求差集。