pandas.Index.isin #

指数。isin (, level = None ) [来源] #

返回一个布尔数组,其中索引值位于value中。

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

参数
集或类似列表

寻求价值观。

level str 或 int,可选

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

返回
np.ndarray[布尔]

NumPy 布尔值数组。

也可以看看

Series.isin

系列也一样。

DataFrame.isin

DataFrame 的方法相同。

笔记

在MultiIndex的情况下,您必须将指定为类似列表的对象,其中包含长度与级别数相同的元组,或者指定level。否则它会引发一个 ValueError.

如果指定级别:

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

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

例子

>>> 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 的“颜色”级别中的字符串是否在颜色列表中。

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

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

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