pandas.Index.set_names#

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

设置 Index 或 MultiIndex 的名称。

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

Parameters:
names标签或标签列表或类似字典的对象(用于 MultiIndex)

要设置的名称。

在 1.3.0 版本发生变更.

levelint、标签或 int 列表或标签,可选

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

在 1.3.0 版本发生变更.

inplacebool,默认 False

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

Returns:
索引 或 None

与调用者相同的类型,或在 inplace=True 时为 None。

参见

Index.rename

能够不带级别地设置新名称。

Examples

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

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

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