@@ -1340,17 +1340,39 @@ def set_names(self, names, level=None, inplace=False):
1340
1340
def rename (self , name , inplace = False ):
1341
1341
"""
1342
1342
Set new names on index. Defaults to returning new index.
1343
+ Length of names must match number of levels in MultiIndex.
1343
1344
1344
1345
Parameters
1345
1346
----------
1346
- name : str or list
1347
- name to set
1347
+ name : str or sequence
1348
+ name(s) to set
1348
1349
inplace : bool
1349
1350
if True, mutates in place
1350
1351
1351
1352
Returns
1352
1353
-------
1353
1354
new index (of same type and class...etc) [if inplace, returns None]
1355
+
1356
+ Examples
1357
+ -------
1358
+ >>> idx = Index([1, 2, 3, 4], name = 'foo')
1359
+ Int64Index([1, 2, 3, 4], dtype='int64', name='foo')
1360
+ >>> idx.rename('bar')
1361
+ Int64Index([1, 2, 3, 4], dtype='int64', name='bar')
1362
+ >>> idx = MultiIndex.from_tuples([(1, u'one'), (1, u'two'),
1363
+ (2, u'one'), (2, u'two')],
1364
+ names=['foo', 'bar'])
1365
+ >>> idx.rename(['bar', None], inplace=True)
1366
+ >>> idx
1367
+ MultiIndex(levels=[[1, 2], ['one', 'two']],
1368
+ labels=[[0, 0, 1, 1], [0, 1, 0, 1]],
1369
+ names=['bar', None])
1370
+ >>> idx.rename(['bar'])
1371
+ ValueError: Length of names must match number of levels in MultiIndex.
1372
+
1373
+ See also
1374
+ --------
1375
+ set_names : able to set new names partially and by level
1354
1376
"""
1355
1377
return self .set_names ([name ], inplace = inplace )
1356
1378
0 commit comments