如何使用 series.isin() 方法检查序列中的值?


Pandas 的 series.isin() 函数用于检查给定序列对象中是否包含请求的值。它将返回一个布尔序列对象,显示序列中的每个元素是否与过去传递给 isin() 方法的序列中的元素匹配。

布尔值 True 表示序列中与 isin() 方法输入序列中指定的元素匹配的元素,而未匹配的元素则用 False 表示。

isin() 方法仅期望一个值的序列,而不是序列的序列或直接值。这意味着,它允许对键进行矢量化,但不允许对值进行矢量化。

如果传递任何其他数据,它将引发 TypeError,仅允许将列表类对象传递给 isin() 方法。

示例 1

我们将使用 Series.isin() 函数来检查传递的值是否在序列对象中可用。

# importing pandas package
import pandas as pd

#creating pandas Series
series = pd.Series([7, 2, 6, 2, 5, 4, 1, 2, 3, 8])

print(series)

# Apply isin() function to check for the specified values
result = series.isin([2])

print("Output:")
print(result)

输出

输出如下:

0    7
1    2
2    6
3    2
4    5
5    4
6    1
7    2
8    3
9    8
dtype: int64

Output:
0    False
1    True
2    False
3    True
4    False
5    False
6    False
7    True
8    False
9    False
dtype: bool

正如我们在输出块中看到的,Series.isin() 方法返回了一个新的带有布尔值的序列对象。True 表示该特定实例处的值与给定序列匹配。False 表示相反。

示例 2

在这里,我们将看到如何通过向 isin() 方法传递值的列表来一次检查多个值。

# importing pandas package
import pandas as pd

#creating pandas Series
series = pd.Series(['A', 'B', 'C', 'A', 'D', 'E', 'B'], index=[1, 2, 3, 4, 5, 6, 7])

print("Series object:")
print(series)

# Apply isin() function to check for the specified values
result = series.isin(['A', 'B'])

print("Output:")
print(result)

输出

输出如下:

Series object:
1    A
2    B
3    C
4    A
5    D
6    E
7    B
dtype: object

Output:
1    True
2    True
3    False
4    True
5    False
6    False
7    True
dtype: bool

在上面的输出块中,我们可以观察到索引 1、2、4 和 7 处的值与给定的值序列匹配,而其余值则不匹配。

更新于: 2022-03-08

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告