pandas DataFrame 交集并集補(bǔ)集的實(shí)現(xiàn)
1.場(chǎng)景,對(duì)于colums都相同的dataframe做過(guò)濾的時(shí)候
例如:
df1 = DataFrame([['a', 10, '男'],
['b', 11, '男'],
['c', 11, '女'],
['a', 10, '女'],
['c', 11, '男']],
columns=['name', 'age', 'sex'])
df2 = DataFrame([['a', 10, '男'],
['b', 11, '女']],
columns=['name', 'age', 'sex'])
取交集:print(pd.merge(df1,df2,on=['name', 'age', 'sex']))
取并集:print(pd.merge(df1,df2,on=['name', 'age', 'sex'], how='outer'))
取差集(從df1中過(guò)濾df1在df2中存在的行):
df1 = df1.append(df2) df1 = df1.append(df2) df1 = df1.drop_duplicates(subset=['name', 'age', 'sex'],keep=False) print(df1)
代碼:
# -*- coding:utf-8 -*-
__version__ = '1.0.0.0'
"""
@brief : 簡(jiǎn)介
@details: 詳細(xì)信息
@author : zhphuang
@date : 2018-10-29
"""
import pandas as pd
from pandas import *
df1 = DataFrame([['a', 10, '男'],
['b', 11, '男'],
['c', 11, '女'],
['a', 10, '女'],
['c', 11, '男']],
columns=['name', 'age', 'sex'])
print("df1:\n%s\n\n" % df1)
df2 = DataFrame([['a', 10, '男'],
['b', 11, '女']],
columns=['name', 'age', 'sex'])
print("df2:\n%s\n\n" % df2)
# 取交集
print("交集:\n%s\n\n" % pd.merge(df1,df2,on=['name', 'age', 'sex']))
# 取并集
print("并集:\n%s\n\n" % pd.merge(df1,df2,on=['name', 'age', 'sex'], how='outer'))
# 從df1中過(guò)濾df1在df2中存在的行,也就是取補(bǔ)集
df1 = df1.append(df2)
df1 = df1.append(df2)
print("補(bǔ)集(從df1中過(guò)濾df1在df2中存在的行):\n%s\n\n" % df1.drop_duplicates(subset=['name', 'age', 'sex'],keep=False))
截圖

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch 實(shí)現(xiàn)在一個(gè)優(yōu)化器中設(shè)置多個(gè)網(wǎng)絡(luò)參數(shù)的例子
今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)在一個(gè)優(yōu)化器中設(shè)置多個(gè)網(wǎng)絡(luò)參數(shù)的例子,具有很好參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
Python腳本實(shí)現(xiàn)Mysql數(shù)據(jù)遷移
MySQL數(shù)據(jù)庫(kù)遷移是指將MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)和結(jié)構(gòu)遷移到另一個(gè)MySQL實(shí)例,下面小編就來(lái)為大家介紹一下如何通過(guò)Python腳本實(shí)現(xiàn)Mysql數(shù)據(jù)遷移吧2025-03-03
Python實(shí)現(xiàn)樹莓派WiFi斷線自動(dòng)重連的實(shí)例代碼
實(shí)現(xiàn) WiFi 斷線自動(dòng)重連,原理是用 Python 監(jiān)測(cè)網(wǎng)絡(luò)是否斷線,如果斷線則重啟網(wǎng)絡(luò)服務(wù)。接下來(lái)給大家分享實(shí)現(xiàn)代碼,需要的朋友參考下2017-03-03
Python+OpenCV目標(biāo)跟蹤實(shí)現(xiàn)基本的運(yùn)動(dòng)檢測(cè)
這篇文章主要為大家詳細(xì)介紹了Python+OpenCV目標(biāo)跟蹤實(shí)現(xiàn)基本的運(yùn)動(dòng)檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
Python代碼實(shí)現(xiàn)找到列表中的奇偶異常項(xiàng)
這篇文章主要介紹了Python代碼實(shí)現(xiàn)找到列表中的奇偶異常項(xiàng),文章內(nèi)容主要利用Python代碼實(shí)現(xiàn)了從輸入列表中尋找奇偶異常項(xiàng),需要的朋友可以參考一下2021-11-11
Python多進(jìn)程與服務(wù)器并發(fā)原理及用法實(shí)例分析
這篇文章主要介紹了Python多進(jìn)程與服務(wù)器并發(fā)原理及用法,深入淺出的介紹了進(jìn)程、并行、并發(fā)、同步、異步等相關(guān)概念與原理,并結(jié)合實(shí)例形式給出了Python多進(jìn)程編程相關(guān)操作技巧,需要的朋友可以參考下2018-08-08

