如何使用 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 处的值与给定的值序列匹配,而其余的值则不匹配。

