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