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

pandasserver side programmingprogramming更新于 2025/7/10 20:37:17

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

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

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

如果传递了任何其他数据,则会引发 TypeError,并且只允许将类似列表的对象传递给 isin() 方法。

示例 1

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

# 导入 pandas 包
import pandas as pd

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

print(series)

# 应用 isin() 函数检查指定的值
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() 方法一次检查多个值。

# 导入 pandas 包
import pandas as pd

# 创建 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)

# 使用 isin() 函数检查指定值
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 处的值与给定的值序列匹配,而其余的值则不匹配。


相关文章