您好,登錄后才能下訂單哦!
Hi,好久不見,我還是那顆翻滾的老鼠屎。處理數(shù)據(jù)時想求兩個表格求不相交的部分,或許是對知識的匱乏限制了我的想象力,并未找到直接求的方法,在這里介紹老鼠屎技己使用的方法,希望對讀者會有幫助。
陰影部分為所要求的部分(但是前提是A、B兩個集合都是無重復(fù)內(nèi)容的集合)
首先先造兩個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的樣子
關(guān)于差集,我們是要去除兩個DataFrame中公共的部分,因此我的想法是:
(1)先將兩個DataFrame融合為一個DataFrame;
(2)去掉當(dāng)中公共的部分(使用drop_duplicates去重)。
下面來看一下代碼:
c=a.append(b) c.drop_duplicates(keep=False,inplace=True) c.reset_index()
這里想要說明的是,drop_duplicates當(dāng)中的參數(shù)keep=False,意為重復(fù)項(xiàng)全部刪除,它還有keep="first"與keep="last",分別對應(yīng)在有多項(xiàng)重復(fù)時,保留第一項(xiàng)(或最后一項(xiàng))。具體可參考官方文檔。
得到的效果是如下所示。雖然過程很簡單,但是很好用。
同樣的道理可用來求差集,在此不做贅述。
以上這篇pandas求兩個表格不相交的集合方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。