淺談pandas篩選出表中滿(mǎn)足另一個(gè)表所有條件的數(shù)據(jù)方法
今天記錄一下pandas篩選出一個(gè)表中滿(mǎn)足另一個(gè)表中所有條件的數(shù)據(jù)。例如:
list1 結(jié)構(gòu):名字,ID,顏色,數(shù)量,類(lèi)型。
list1 = [['a',1,255,100,'03'],['a',2,481,50,'06'],['a',47,255,500,'03'],['b',3,1,50,'11']]
list2結(jié)構(gòu):名字,類(lèi)型,顏色。
list2 = [['a','03',255],['a','06',481]]
如何在list1中找出所有與list2中匹配的元素?要得到下面的結(jié)果:list = [['a',1,255,100,'03'],['a',2,481,50,'06'],['a',47,255,500,'03']]。
首先將兩個(gè)list轉(zhuǎn)化為dataframe.
list1 = [['a',1,255,100,'03'],['a',2,481,50,'06'],['a',47,255,500,'03'],['b',3,1,50,'11']] df1=pd.DataFrame(list1,columns=["名字","ID","顏色","數(shù)量","類(lèi)型"]) list2 = [['a','03',255],['a','06',481]] df2=pd.DataFrame(list2,columns=["名字","類(lèi)型","顏色"])
數(shù)據(jù)結(jié)構(gòu)如下:
然后利用pandas.merge函數(shù)將其進(jìn)行內(nèi)連接。
這個(gè)函數(shù)的語(yǔ)法是:
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)。這函數(shù)連接方式和sql的連接類(lèi)似,由參數(shù)how來(lái)控制。
最后的代碼如下:
import pandas as pd list1 = [['a',1,255,100,'03'],['a',2,481,50,'06'],['a',47,255,500,'03'],['b',3,1,50,'11']] df1=pd.DataFrame(list1,columns=["名字","ID","顏色","數(shù)量","類(lèi)型"]) list2 = [['a','03',255],['a','06',481]] df2=pd.DataFrame(list2,columns=["名字","類(lèi)型","顏色"]) df=pd.merge(df1,df2,how='inner',on=["名字","類(lèi)型","顏色"],right_index=True) df.sort_index(inplace=True) print(df)
返回結(jié)果按照左表的順序輸出:
以上這篇淺談pandas篩選出表中滿(mǎn)足另一個(gè)表所有條件的數(shù)據(jù)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- pandas按條件篩選數(shù)據(jù)的實(shí)現(xiàn)
- 使用pandas實(shí)現(xiàn)篩選出指定列值所對(duì)應(yīng)的行
- 使用pandas庫(kù)對(duì)csv文件進(jìn)行篩選保存
- pandas條件組合篩選和按范圍篩選的示例代碼
- 使用Pandas對(duì)數(shù)據(jù)進(jìn)行篩選和排序的實(shí)現(xiàn)
- pandas數(shù)據(jù)篩選和csv操作的實(shí)現(xiàn)方法
- pandas篩選某列出現(xiàn)編碼錯(cuò)誤的解決方法
- pandas數(shù)據(jù)處理基礎(chǔ)之篩選指定行或者指定列的數(shù)據(jù)
- pandas系列之DataFrame 行列數(shù)據(jù)篩選實(shí)例
- pandas按若干個(gè)列的組合條件篩選數(shù)據(jù)的方法
- pandas 按日期范圍篩選數(shù)據(jù)的實(shí)現(xiàn)
相關(guān)文章
Python讀取和處理文件后綴為.sqlite的數(shù)據(jù)文件(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇Python讀取和處理文件后綴為.sqlite的數(shù)據(jù)文件(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06Python中常用數(shù)據(jù)類(lèi)型使用示例概括總結(jié)
這篇文章主要為大家介紹了Python中常用數(shù)據(jù)類(lèi)型使用示例概括總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Python3 導(dǎo)入上級(jí)目錄中的模塊實(shí)例
今天小編就為大家分享一篇Python3 導(dǎo)入上級(jí)目錄中的模塊實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02windows下python模擬鼠標(biāo)點(diǎn)擊和鍵盤(pán)輸示例
這篇文章主要介紹了windows下python模擬鼠標(biāo)點(diǎn)擊和鍵盤(pán)輸示例,需要的朋友可以參考下2014-02-02一個(gè)簡(jiǎn)單的python程序?qū)嵗?通訊錄)
這篇文章主要分享了用python實(shí)現(xiàn)的一個(gè)通訊錄實(shí)例,學(xué)習(xí)python的朋友可以參考下2013-11-11關(guān)于Numpy中argsort()函數(shù)的用法解讀
這篇文章主要介紹了關(guān)于Numpy中argsort()函數(shù)的用法解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié)
這篇文章主要介紹了python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07