pandas.Index.isin#

Index.isin(values, level=None)[源代码][源代码]#

返回一个布尔数组,其中索引值在 values 中。

计算布尔数组,表示每个索引值是否在传递的值集合中找到。返回的布尔数组的长度与索引的长度匹配。

参数:
集合或类似列表

寻求的值。

级别str 或 int,可选

要使用的索引级别的名称或位置(如果索引是 MultiIndex)。

返回:
np.ndarray[bool]

布尔值的 NumPy 数组。

参见

Series.isin

同样适用于系列。

DataFrame.isin

数据框的相同方法。

备注

MultiIndex 的情况下,你必须将 values 指定为一个包含与级别数量相同的元组的类列表对象,或者指定 level。否则,它将引发一个 ValueError

如果指定了 level

  • 如果它是一个 且仅一个 索引级别的名称,请使用该级别;

  • 否则它应该是一个表示级别位置的数字。

例子

>>> idx = pd.Index([1, 2, 3])
>>> idx
Index([1, 2, 3], dtype='int64')

检查列表中的每个索引值。

>>> idx.isin([1, 4])
array([ True, False, False])
>>> midx = pd.MultiIndex.from_arrays(
...     [[1, 2, 3], ["red", "blue", "green"]], names=["number", "color"]
... )
>>> midx
MultiIndex([(1,   'red'),
            (2,  'blue'),
            (3, 'green')],
           names=['number', 'color'])

检查 MultiIndex 的 ‘color’ 级别中的字符串是否在颜色列表中。

>>> midx.isin(["red", "orange", "yellow"], level="color")
array([ True, False, False])

要检查 MultiIndex 的各个级别,请传递一个元组列表:

>>> midx.isin([(1, "red"), (3, "red")])
array([ True, False, False])