您現在所在位置: 主頁(yè) > 微信開(kāi)發(fā)
python中isin函數的用法
更新時(shí)間:2026-05-05 01:55:23
isin函數用于篩選pandas DataFrame或Se??ries中存在于給定列表或數組中的用法元┐(′д`)┌素。
在Python編程中,用法isin函數是用法一個(gè)常見(jiàn)的用于數據過(guò)濾的函數,它主(′?`)要用于Pandas庫中的用法DataFrame或Series對象。isin函數的用法主要功能是返回一個(gè)布爾型的Series或DataFrame,表示每個(gè)元素是用法否包含在給(gei)定的值集合中。
isin函數的??用法基本用法
isin函數的基本語(yǔ)法如下:
DataFrame.isin(values)values參數可以是一個(gè)列表、集合、用(′;ω;`)法字典、用法Series或DataFrame,用法如果values是用法字典,那么其鍵值對將被用來(lái)確定對應列是用法否存在于DataFrame中。
假設我們有一個(gè)DataFrame如下:
import pandas as pdd(′?_?`)ata = { 'A': [1,用法 2, 3], 'B': [4, 5, 6]}df = pd.DataFrame(data)我們可以使用isin函數來(lái)找??出’A’列中值為1或2的所有行:
print(df['A'].isin([1, 2]))
輸出結果為:
0 True1 True2 FalseNam(T_T)e: A, dtype: bool這表示第0行和第1行的’A’列的值(zhi)都在給定的列表[(′_ゝ`)1, 2]中。
isin函數的用法ヾ(′▽?zhuān)??高級用法
除了基本用法,isin函數還有一些(xie)高級用法,用法我們可以使用~操作符來(lái)獲取isin的反向結果,即找出不在給定值集合中的元素。
print(??~df['A'].isin([1, 2]))
輸出結果為:
0 False1 False2 TrueName: A, dtype: bool
這表示第0行和第1行的’A’列的值都不在給定的列表[1, 2]中,而第2行的’A’列的值在給定的列表[1, 2]中。
我們ヽ(′?`)ノ還可以同時(shí)對多(duo)個(gè)列進(jìn)行isin操作,我們可以找出’A’列值為1或2,且’B’列值為4或5的所有行:
print(df[(df['A'].isin([1, 2]))??? & (df['B']??.isin((′?`)[4, 5]))])
A B0 1 41 2 5
這表示?第0行和第1行滿(mǎn)足條件。
相關(guān)問(wèn)題與解答
Q1:isin函數可以用于哪些(xie)數據??類(lèi)型?
A1:isin函數可以用于Pandas庫中的Series和DataFrame對象。
Q2:如果我想找出一個(gè)Da(?????)taFrame中所有列的值都在給定(′?ω?`)列表中的行,我應該怎么使用isin函數?
A2:你可以使用all函數配合isin函數,df[df.isin([1, 2, 3]).all(axis=1)]。
Q3:如果我想找出一個(gè)DataFr(′;д;`)ame中任何一列的值都在給定列表中的行,我應該怎么使用isin函數ヾ(′▽?zhuān)??(shu)?
A3:你可以使(shi)用any函數配合isin函數,df[df.isin([1, 2, 3]).any(′ω`)(axis=1)]。
Q4:如果我想找出一個(gè)DataFrame中某一列的值在給??定字典的對應值列表中的行,我應該怎么使用isin函數?
A4:你可以直接將字典作為isin函數的參數,df[df['A'].isin({ 'A': [1, 2], 'B': [3, 4](′?`*)})]。

