pandas.Index.set_names#

Index.set_names(names, *, level=None, inplace=False)[源代码][源代码]#

设置索引或复合索引的名称。

能够部分设置新名称并按级别设置。

参数:
名称标签或标签列表或多索引的类字典对象

要设置的名称。

在 1.3.0 版本发生变更.

级别int, 标签或 int 或标签的列表, 可选

如果索引是 MultiIndex 并且 names 不是类字典的,则设置的级别(所有级别为 None)。否则级别必须为 None。

在 1.3.0 版本发生变更.

inplacebool, 默认为 False

直接修改对象,而不是创建新的 Index 或 MultiIndex。

返回:
索引或无

与调用者相同类型,如果 inplace=True 则为 None。

参见

Index.rename

能够在不设置级别的情况下设置新名称。

例子

>>> idx = pd.Index([1, 2, 3, 4])
>>> idx
Index([1, 2, 3, 4], dtype='int64')
>>> idx.set_names("quarter")
Index([1, 2, 3, 4], dtype='int64', name='quarter')
>>> idx = pd.MultiIndex.from_product([["python", "cobra"], [2018, 2019]])
>>> idx
MultiIndex([('python', 2018),
            ('python', 2019),
            ( 'cobra', 2018),
            ( 'cobra', 2019)],
           )
>>> idx = idx.set_names(["kind", "year"])
>>> idx.set_names("species", level=0)
MultiIndex([('python', 2018),
            ('python', 2019),
            ( 'cobra', 2018),
            ( 'cobra', 2019)],
           names=['species', 'year'])

当使用字典重命名级别时,不能传递级别。

>>> idx.set_names({"kind": "snake"})
MultiIndex([('python', 2018),
            ('python', 2019),
            ( 'cobra', 2018),
            ( 'cobra', 2019)],
           names=['snake', 'year'])