pandas isin和notin详解
在数据分析中,我们经常需要根据某些条件来筛选出符合要求的数据。pandas
是一个功能强大的数据处理工具,其中的isin()
和notin()
函数能够帮助我们高效地进行数据筛选。本文将详细介绍isin()
和notin()
函数的用法,并且通过示例代码展示其在实际数据处理中的应用。
isin函数的用法
isin()
函数用于检查某个元素是否在指定的列表或序列中,返回一个布尔类型的Series。下面是isin()
函数的语法:
pandas.Series.isin(values)
其中,values
可以是列表、数组、Series或者字典等数据结构。下面我们通过一个示例来演示isin()
函数的用法:
import pandas as pd
data = {'A': [1, 2, 3, 4, 5],
'B': ['apple', 'banana', 'cherry', 'apple', 'banana'],
'C': [0.1, 0.2, 0.3, 0.4, 0.5]}
df = pd.DataFrame(data)
print(df['B'].isin(['apple', 'cherry']))
运行上面的代码,输出如下:
0 True
1 False
2 True
3 True
4 False
Name: B, dtype: bool
从输出可以看出,isin()
函数返回了一个布尔类型的Series,表示对应的元素是否在指定的列表中。在本例中,结果显示第0、2、3行的元素是’apple’或’cherry’,因此返回了True
,而第1、4行的元素不在指定列表中,返回了False
。
notin函数的用法
notin()
函数用于检查某个元素是否不在指定的列表或序列中,与isin()
相反,返回一个布尔类型的Series。下面是notin()
函数的语法:
pandas.Series.notin(values)
values
的含义与isin()
函数中的一致。接下来我们通过一个示例来演示notin()
函数的用法:
import pandas as pd
data = {'A': [1, 2, 3, 4, 5],
'B': ['apple', 'banana', 'cherry', 'apple', 'banana'],
'C': [0.1, 0.2, 0.3, 0.4, 0.5]}
df = pd.DataFrame(data)
print(df['B'].notin(['apple', 'cherry']))
运行上面的代码,输出如下:
0 False
1 True
2 False
3 False
4 True
Name: B, dtype: bool
从输出可以看出,notin()
函数返回了一个布尔类型的Series,表示对应的元素是否不在指定的列表中。在本例中,结果显示第1、4行的元素不在’apple’或’cherry’的列表中,因此返回了True
,其它行的元素均在指定列表中,返回了False
。
isin和notin函数的实际应用
isin()
和notin()
函数在实际数据分析中有着广泛的应用,特别是在数据筛选和清洗中。通过这两个函数,我们可以快速地找出满足条件的数据行,进而进行后续的分析或处理。
下面我们通过一个示例来展示isin()
和notin()
函数的实际应用:
import pandas as pd
data = {'A': [1, 2, 3, 4, 5],
'B': ['apple', 'banana', 'cherry', 'apple', 'banana'],
'C': [0.1, 0.2, 0.3, 0.4, 0.5]}
df = pd.DataFrame(data)
# 筛选出B列中值为'apple'或'banana'的数据行
filtered_data = df[df['B'].isin(['apple', 'banana'])]
print(filtered_data)
运行上面的代码,输出如下:
A B C
0 1 apple 0.1
1 2 banana 0.2
3 4 apple 0.4
4 5 banana 0.5
从输出可以看出,我们成功筛选出了B列中值为’apple’或’banana’的数据行。这种数据筛选方式在实际工作中经常用到,能够帮助我们轻松地提取符合条件的数据进行分析。
总结
在数据分析中,isin()
和notin()
函数是pandas
中用于数据筛选的重要工具。通过这两个函数,我们可以快速地找出满足条件的数据行,从而进行后续的数据处理和分析。