Pandas教程-Pandas DataFrame.isin()
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