新聞中心
Python中的isin()方法用于篩選出列表中存在于指定集合中的元素。
創(chuàng)新互聯(lián)公司始終堅持【策劃先行,效果至上】的經(jīng)營理念,通過多達十余年累計超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)整合營銷推廣解決方案,現(xiàn)已廣泛運用于各行各業(yè)的客戶,其中包括:成都三維植被網(wǎng)等企業(yè),備受客戶稱揚。
在Python的Pandas庫中,isin()是一個非常實用的函數(shù),主要用于篩選數(shù)據(jù),這個函數(shù)可以檢查DataFrame或Series對象中的值是否包含在給定的值序列中。
基本用法
isin()函數(shù)的基本用法非常簡單,它接收一個列表作為參數(shù),然后返回一個布爾型的DataFrame或Series,其中的每個元素都表示原始DataFrame或Series中的相應(yīng)元素是否在給定的列表中。
假設(shè)我們有一個包含多個城市名稱的DataFrame:
import pandas as pd
data = {'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix']}
df = pd.DataFrame(data)
如果我們想要找出在這個DataFrame中哪些城市是在美國的前五大城市(按照人口排序),我們可以使用isin()函數(shù):
top_five_cities = ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix'] result = df['City'].isin(top_five_cities)
在這個例子中,result將是一個布爾型的Series,表示每個城市是否在前五大城市中。
高級用法
除了基本用法之外,isin()函數(shù)還有一些高級用法。
1. 使用字典進行篩選
如果你有一個字典,其中鍵是列名,值是要檢查的值的列表,你也可以使用isin()函數(shù)。
data = {'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix'],
'State': ['New York', 'California', 'Illinois', 'Texas', 'Arizona']}
df = pd.DataFrame(data)
criteria = {'City': ['New York', 'Los Angeles'], 'State': ['Texas']}
result = df.isin(criteria)
在這個例子中,result將是一個布爾型的DataFrame,表示每行中的每個元素是否在相應(yīng)的列表中。
2. 使用正則表達式進行篩選
isin()函數(shù)還支持使用正則表達式進行篩選,你只需要將正則表達式作為字符串傳遞給isin()函數(shù)即可。
如果我們想要找出所有以"N"開頭的城市,我們可以這樣做:
pattern = '^N' result = df['City'].str.contains(pattern)
在這個例子中,result將是一個布爾型的Series,表示每個城市的名稱是否匹配給定的正則表達式。
相關(guān)問題與解答
問題1:isin()函數(shù)返回的是什么類型的對象?
答:isin()函數(shù)返回的是一個布爾型的DataFrame或Series,其中的每個元素都表示原始DataFrame或Series中的相應(yīng)元素是否在給定的列表中。
問題2:如何使用isin()函數(shù)來篩選出DataFrame中的特定行?
答:你可以先使用isin()函數(shù)生成一個布爾型的DataFrame,然后使用這個DataFrame來篩選原始的DataFrame。df[df['City'].isin(top_five_cities)]將返回一個新的DataFrame,其中只包含前五大城市。
問題3:isin()函數(shù)是否可以接受字典作為參數(shù)?如果可以,如何使用?
答:是的,isin()函數(shù)可以接受一個字典作為參數(shù),字典的鍵應(yīng)該是列名,值應(yīng)該是要檢查的值的列表。df.isin({'City': ['New York', 'Los Angeles'], 'State': ['Texas']})將返回一個布爾型的DataFrame,表示每行中的每個元素是否在相應(yīng)的列表中。
問題4:isin()函數(shù)是否可以使用正則表達式進行篩選?如果可以,如何使用?
答:是的,isin()函數(shù)可以使用正則表達式進行篩選,你只需要將正則表達式作為字符串傳遞給isin()函數(shù)即可。df['City'].str.contains('^N')將返回一個布爾型的Series,表示每個城市的名稱是否匹配給定的正則表達式。
網(wǎng)站題目:python中isin用法
文章網(wǎng)址:http://m.fisionsoft.com.cn/article/coghdho.html


咨詢
建站咨詢

