溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

pandas求兩個表格不相交的集合方法

發(fā)布時間:2020-09-13 15:42:10 來源:腳本之家 閱讀:237 作者:翻滾的老鼠屎 欄目:開發(fā)技術(shù)

Hi,好久不見,我還是那顆翻滾的老鼠屎。處理數(shù)據(jù)時想求兩個表格求不相交的部分,或許是對知識的匱乏限制了我的想象力,并未找到直接求的方法,在這里介紹老鼠屎技己使用的方法,希望對讀者會有幫助。

pandas求兩個表格不相交的集合方法

陰影部分為所要求的部分(但是前提是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的樣子

pandas求兩個表格不相交的集合方法

關(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求兩個表格不相交的集合方法

同樣的道理可用來求差集,在此不做贅述。

以上這篇pandas求兩個表格不相交的集合方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(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)容。

AI