pandas.MultiIndex.drop#

MultiIndex.drop(codes, level=None, errors='raise')[源代码][源代码]#

使用传递的代码列表创建一个新的 pandas.MultiIndex 并删除。

此方法允许从 MultiIndex 中移除指定的标签。如果要移除的标签没有指定级别,可以作为元组列表提供,或者如果提供了级别参数,则可以作为特定级别的标签列表提供。这对于细化 MultiIndex 的结构以适应特定要求非常有用。

参数:
代码array-like

当未指定 level 时,必须是一个元组列表。

级别整数或级别名称,默认为 None

从此级别开始删除标签。

错误str, 默认 ‘raise’

如果 ‘ignore’,则抑制错误并且现有的标签将被丢弃。

返回:
MultiIndex

一个新的 MultiIndex,去掉了指定的标签。

参见

MultiIndex.remove_unused_levels

从当前索引创建一个新的 MultiIndex,删除未使用的级别。

MultiIndex.reorder_levels

使用输入顺序重新排列级别。

MultiIndex.rename

重命名 MultiIndex 中的层级。

示例

>>> idx = pd.MultiIndex.from_product(
...     [(0, 1, 2), ("green", "purple")], names=["number", "color"]
... )
>>> idx
MultiIndex([(0,  'green'),
            (0, 'purple'),
            (1,  'green'),
            (1, 'purple'),
            (2,  'green'),
            (2, 'purple')],
           names=['number', 'color'])
>>> idx.drop([(1, "green"), (2, "purple")])
MultiIndex([(0,  'green'),
            (0, 'purple'),
            (1, 'purple'),
            (2,  'green')],
           names=['number', 'color'])

我们也可以从一个特定的级别开始。

>>> idx.drop("green", level="color")
MultiIndex([(0, 'purple'),
            (1, 'purple'),
            (2, 'purple')],
           names=['number', 'color'])
>>> idx.drop([1, 2], level=0)
MultiIndex([(0,  'green'),
            (0, 'purple')],
           names=['number', 'color'])