pandas?實(shí)現(xiàn)?in?和?not?in?的用法及使用心得
pandas in 和 not in 的用法
經(jīng)常在處理數(shù)據(jù)中從一個總數(shù)據(jù)中清洗出數(shù)據(jù), 但是有時候需要把沒有處理的數(shù)據(jù)也統(tǒng)計出來.
這時候就需要使用:
pandas.DataFrame.isin
DataFrame中的每個元素是否都包含在值中
例子:
如何實(shí)現(xiàn)SQL的等價物IN和NOT IN?
我有一個包含所需值的列表。下面是一個場景:
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'])]但上面這樣做覺得很不好, 也翻了文檔才找到比較好解決方式.
# 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)常會需要對某列做一些篩選,比如篩選某列里的不包含某些值的行,類似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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python算法之求n個節(jié)點(diǎn)不同二叉樹個數(shù)
本文先向大家分享了建立二叉樹的簡單代碼,其次介紹了Python計算n個節(jié)點(diǎn)不同二叉樹個數(shù)的問題及實(shí)現(xiàn)代碼示例,具有一定參考價值,需要的朋友可以了解下。2017-10-10
Python使用Pandas處理.xlsx文件的詳細(xì)教程
這篇文章主要介紹了如何使用Pandas庫處理.xlsx文件,包括環(huán)境配置、讀取、寫入、數(shù)據(jù)操作和高級操作,Pandas提供了豐富的功能,使得數(shù)據(jù)處理變得簡單高效,需要的朋友可以參考下2025-02-02
Python 中 and, or, &, |, ^ 
這篇文章主要介紹了Python 中 and, or, &, |, ^ 的使用小結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01
pd.DataFrame中的幾種索引變換的實(shí)現(xiàn)
本文主要介紹了pd.DataFrame中的幾種索引變換的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
分析Python編程時利用wxPython來支持多線程的方法
這篇文章主要介紹了Python編程時利用wxPython來支持多線程的方法,本文主要以開發(fā)GUI程序時做線程通訊作為一個示例來講解,需要的朋友可以參考下2015-04-04
如何將python的數(shù)據(jù)存儲到mysql數(shù)據(jù)庫中
在很多數(shù)據(jù)處理項(xiàng)目中,將數(shù)據(jù)存儲到數(shù)據(jù)庫中是非常常見的操作,下面這篇文章主要給大家介紹了關(guān)于如何將python的數(shù)據(jù)存儲到mysql數(shù)據(jù)庫中的相關(guān)資料,需要的朋友可以參考下2023-12-12

