DataFrame.isin() 方法的主要任务是选择具有特定列中特定(或多个)值的行。

语法

DataFrame.isin(values)  

参数

values: 它可以是 DataFrame、Series、可迭代对象或字典,并返回一个布尔值。

如果它由一个 Series 组成,那么它将是索引。

如果它由一个 字典 组成,那么键必须是列名,并且必须匹配。

如果它由一个 DataFrame 组成,那么索引和列标签都必须匹配。

示例1:

import pandas as pd  
#initializing dataframe  
info = pd.DataFrame({'x': [1, 2], 'y': [3, 7]})  
#check if the values of info are in the range(1,6)  
p = info.isin(range(1,8))  
print('DataFrame\n-----------\n',info)  
print('\nDataFrame.isin(range(1,6))\n-----------\n',p)  

输出:

DataFrame
-----------
xy
0  1  3
1  2  7

DataFrame.isin(range(1,6))
-----------
xy
0  TrueTrue
1  TrueTrue

示例2:

import pandas as pd   
data = pd.DataFrame({  
    'EmpCode': ['Emp001', 'Emp002', 'Emp003', 'Emp004', 'Emp005'],  
    'Name': ['Parker', 'Smith', 'Jones', 'Terry', 'Palin'],  
    'Occupation': ['Tester', 'Developer', 'Statistician',  
                   'Tester', 'Developer'],  
    'Date Of Join': ['2019-01-17', '2019-01-26', '2019-01-29', '2019-02-02',  
                     '2019-02-11'],  
    'Age': [29, 22, 25, 38, 27]})  
  
print("\nUseisin operator\n")  
print(data.loc[data['Occupation'].isin(['Tester','Developer'])])  
print("\nMultiple Conditions\n")  
print(data.loc[(data['Occupation'] == 'Tester') |  
                    (data['Name'] == 'John') &  
                    (data['Age'] < 27)])  

输出:

Use isin operator

EmpCodeNameOccupation                Date Of Join       Age
0  Emp001      Parker     Tester            2019-01-17     29
1  Emp002      Smith    Developer       2019-01-26     22
3  Emp004     Terry       Tester            2019-02-02   38
4  Emp005     Palin    Developer         2019-02-11   27

Multiple Conditions

EmpCode         Name      Occupation      Date Of Join    Age
0  Emp001      Parker     Tester           2019-01-17     29
3  Emp004      Terry       Tester           2019-02-02     38

标签: Pandas, Pandas教程, Pandas库, Pandas基础, Pandas学习, Pandas使用, Pandas指南, Pandas入门教程, Pandas模块, Pandas数据库, Pandas实战教程, Pandas用法总结, Pandas文档