pandas.Index.isin#
- Index.isin(values, level=None)[源代码]#
返回一个布尔数组,其中索引值在 values 中。
计算布尔数组,指示每个索引值是否包含在传入的值集中。返回的布尔数组的长度与索引的长度相同。
- Parameters:
- valuesset 或类列表
要查找的值。
- levelstr 或 int,可选
要使用的索引级别的名称或位置(如果索引是 MultiIndex)。
- Returns:
- np.ndarray[bool]
布尔值的 NumPy 数组。
参见
Series.isinSeries 同样适用。
DataFrame.isinDataFrame 的相同方法。
Notes
对于 MultiIndex,您必须要么将 values 指定为包含元组(元组长度与级别数相同)的类列表对象,要么指定 level。否则将引发
ValueError。如果指定了 level:
如果它是 一个且仅一个 索引级别的名称,则使用该级别;
否则它应该是一个表示级别位置的数字。
Examples
>>> 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])