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

陰影部分為所要求的部分(但是前提是A、B兩個(gè)集合都是無重復(fù)內(nèi)容的集合)
首先先造兩個(gè)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)
看一下兩個(gè)DataFrame的樣子

關(guān)于差集,我們是要去除兩個(gè)DataFrame中公共的部分,因此我的想法是:
(1)先將兩個(gè)DataFrame融合為一個(gè)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ù)時(shí),保留第一項(xiàng)(或最后一項(xiàng))。具體可參考官方文檔。
得到的效果是如下所示。雖然過程很簡單,但是很好用。

同樣的道理可用來求差集,在此不做贅述。
以上這篇pandas求兩個(gè)表格不相交的集合方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 線程的暫停, 恢復(fù), 退出詳解及實(shí)例
這篇文章主要介紹了python 線程的暫停, 恢復(fù), 退出詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-12-12
python異步的ASGI與Fast Api實(shí)現(xiàn)
本文主要介紹了python異步的ASGI與Fast Api實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07
python encrypt 實(shí)現(xiàn)AES加密的實(shí)例詳解
在本篇文章里小編給大家分享的是關(guān)于python encrypt 實(shí)現(xiàn)AES加密的實(shí)例內(nèi)容,有興趣的朋友們可以參考下。2020-02-02
Python實(shí)現(xiàn)監(jiān)視程序的內(nèi)存使用情況
我們使用Python和它的數(shù)據(jù)處理庫套件進(jìn)行大量數(shù)據(jù)處理時(shí)候,可能使用了大量的計(jì)算資源,那么如何監(jiān)視程序的內(nèi)存使用情況就顯得尤為重要,下面我們就來了解一下具體實(shí)現(xiàn)方法吧2023-12-12

