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])