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