pandas?實(shí)現(xiàn)?in?和?not?in?的用法及使用心得
pandas in 和 not in 的用法
經(jīng)常在處理數(shù)據(jù)中從一個(gè)總數(shù)據(jù)中清洗出數(shù)據(jù), 但是有時(shí)候需要把沒(méi)有處理的數(shù)據(jù)也統(tǒng)計(jì)出來(lái).
這時(shí)候就需要使用:
pandas.DataFrame.isin
DataFrame中的每個(gè)元素是否都包含在值中
例子:
如何實(shí)現(xiàn)SQL的等價(jià)物IN和NOT IN? 我有一個(gè)包含所需值的列表。下面是一個(gè)場(chǎng)景: df = pd.DataFrame({'countries':['US','UK','Germany','China']}) countries = ['UK','China'] # pseudo-code: df[df['countries'] not in countries]
之前的做法是這樣:
df = pd.DataFrame({'countries':['US','UK','Germany','China']}) countries = pd.DataFrame({'countries':['UK','China'], 'matched':True}) # IN df.merge(countries,how='inner',on='countries') # NOT IN not_in = df.merge(countries,how='left',on='countries') not_in = not_in[pd.isnull(not_in['matched'])]
但上面這樣做覺(jué)得很不好, 也翻了文檔才找到比較好解決方式.
# IN something.isin(somewhere) # NOT IN ~something.isin(somewhere)
例子:
>>> df countries 0 US 1 UK 2 Germany 3 China >>> countries ['UK', 'China'] >>> df.countries.isin(countries) 0 False 1 True 2 False 3 True Name: countries, dtype: bool >>> df[df.countries.isin(countries)] countries 1 UK 3 China >>> df[~df.countries.isin(countries)] countries 0 US 2 Germany
ps:pandas實(shí)現(xiàn)in和 not in
pandas中經(jīng)常會(huì)需要對(duì)某列做一些篩選,比如篩選某列里的不包含某些值的行,類似sql里的in和not in功能,那么怎么實(shí)現(xiàn)呢。
import pandas as pd columns = ['name','country'] index = [1,2,3,4] row1 = ['a','China'] row2 = ['b','UK'] row3 = ['c','USA'] row4 = ['d','HK'] df = pd.DataFrame([row1,row2,row3,row4], index=index, columns=columns) df chinese = ['China','HK']
那么想查看數(shù)據(jù)中是chines的,
df[df.country.isin(chinese)]
查看數(shù)據(jù)中不是chines的,
到此這篇關(guān)于pandas 實(shí)現(xiàn) in 和 not in 的用法及心得的文章就介紹到這了,更多相關(guān)pandas in 和 not in 的用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python cookie反爬處理的實(shí)現(xiàn)
這篇文章主要介紹了python cookie反爬處理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Python實(shí)現(xiàn)合并兩個(gè)字典的8種方法
Python有多種方法可以通過(guò)使用各種函數(shù)和構(gòu)造函數(shù)來(lái)合并字典,本文主要介紹了Python實(shí)現(xiàn)合并兩個(gè)字典的8種方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-07-07python輕松辦公將100個(gè)Excel中符合條件的數(shù)據(jù)匯總到1個(gè)Excel里
這篇文章主要為大家介紹了python輕松辦公將100個(gè)Excel中符合條件的數(shù)據(jù)匯總到1個(gè)Excel里示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03PyQt5?python?數(shù)據(jù)庫(kù)?表格動(dòng)態(tài)增刪改詳情
這篇文章主要介紹了PyQt5?python?數(shù)據(jù)庫(kù)?表格動(dòng)態(tài)增刪改詳情,首先手動(dòng)連接數(shù)據(jù)庫(kù)與下一個(gè)的程序連接數(shù)據(jù)庫(kù)是獨(dú)立的2個(gè)部分,下面來(lái)看看文章的詳細(xì)介紹2022-01-01利用?Python?開發(fā)一個(gè)?Python?解釋器
這篇文章主要介紹了利用?Python?開發(fā)一個(gè)?Python?解釋器,在本文中,我們將設(shè)計(jì)一個(gè)可以執(zhí)行算術(shù)運(yùn)算的解釋器。下面我們大家一起來(lái)看看吧</P><P>2022-01-01Python的Twisted框架上手前所必須了解的異步編程思想
Twisted是Python世界中人氣最高的framework之一,異步的工作模式使其名揚(yáng)天下,這里為大家總結(jié)了Python的Twisted框架上手前所必須了解的異步編程思想,需要的朋友可以參考下2016-05-05如何使用python的ctypes調(diào)用醫(yī)保中心的dll動(dòng)態(tài)庫(kù)下載醫(yī)保中心的賬單
這篇文章主要介紹了如何使用python的ctypes調(diào)用醫(yī)保中心的dll動(dòng)態(tài)庫(kù)下載醫(yī)保中心的賬單,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Python統(tǒng)計(jì)列表元素出現(xiàn)次數(shù)的方法示例
這篇文章主要介紹了Python統(tǒng)計(jì)列表元素出現(xiàn)次數(shù)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04