@@ -1286,7 +1286,7 @@ def set_names(self, names, level=None, inplace=False):
1286
1286
----------
1287
1287
names : label or list of labels
1288
1288
Name(s) to set.
1289
- level : int, str or list of labels, optional
1289
+ level : int, label or list of labels, optional
1290
1290
If the index is a MultiIndex, level(s) to set (None for all
1291
1291
levels). Otherwise level must be None.
1292
1292
inplace : boolean, default False
@@ -1310,17 +1310,20 @@ def set_names(self, names, level=None, inplace=False):
1310
1310
>>> idx.set_names('quarter')
1311
1311
Int64Index([1, 2, 3, 4], dtype='int64', name='quarter')
1312
1312
1313
- >>> idx = pd.MultiIndex.from_tuples([(1, 'one'), (1, 'two'),
1314
- ... (2, 'one'), (2, 'two')],
1315
- ... names=['year', 'company'])
1316
- >>> idx.set_names(['term', 'corporation'])
1317
- MultiIndex(levels=[[1, 2], ['one', 'two']],
1318
- labels=[[0, 0, 1, 1], [0, 1, 0, 1]],
1319
- names=['term', 'corporation'])
1320
- >>> idx.set_names('association', level=1)
1321
- MultiIndex(levels=[[1, 2], ['one', 'two']],
1322
- labels=[[0, 0, 1, 1], [0, 1, 0, 1]],
1323
- names=['year', 'association'])
1313
+ >>> idx = pd.MultiIndex.from_product([['python', 'cobra'],
1314
+ ... [2018, 2019]])
1315
+ >>> idx
1316
+ MultiIndex(levels=[['cobra', 'python'], [2018, 2019]],
1317
+ labels=[[1, 1, 0, 0], [0, 1, 0, 1]])
1318
+ >>> idx.set_names(['kind', 'year'], inplace=True)
1319
+ >>> idx
1320
+ MultiIndex(levels=[['cobra', 'python'], [2018, 2019]],
1321
+ labels=[[1, 1, 0, 0], [0, 1, 0, 1]],
1322
+ names=['kind', 'year'])
1323
+ >>> idx.set_names('species', level=0)
1324
+ MultiIndex(levels=[['cobra', 'python'], [2018, 2019]],
1325
+ labels=[[1, 1, 0, 0], [0, 1, 0, 1]],
1326
+ names=['species', 'year'])
1324
1327
"""
1325
1328
1326
1329
from .multi import MultiIndex
@@ -1329,7 +1332,7 @@ def set_names(self, names, level=None, inplace=False):
1329
1332
1330
1333
if level is not None and not is_list_like (level ) and is_list_like (
1331
1334
names ):
1332
- msg = "Names must be a string when one level is provided."
1335
+ msg = "Names must be a string when a single level is provided."
1333
1336
raise TypeError (msg )
1334
1337
1335
1338
if not is_list_like (names ) and level is None and self .nlevels > 1 :
@@ -1378,14 +1381,18 @@ def rename(self, name, inplace=False):
1378
1381
>>> idx.rename('grade')
1379
1382
Index(['A', 'C', 'A', 'B'], dtype='object', name='grade')
1380
1383
1381
- >>> idx = pd.MultiIndex.from_tuples([(1, 'one'), (1, 'two'),
1382
- ... (2, 'one'), (2, 'two')],
1383
- ... names=['year', 'company'])
1384
- >>> idx.rename(['term', 'corporation'])
1385
- MultiIndex(levels=[[1, 2], ['one', 'two']],
1386
- labels=[[0, 0, 1, 1], [0, 1, 0, 1]],
1387
- names=['term', 'corporation'])
1388
- >>> idx.rename('term')
1384
+ >>> idx = pd.MultiIndex.from_product([['python', 'cobra'],
1385
+ ... [2018, 2019]],
1386
+ ... names=['kind', 'year'])
1387
+ >>> idx
1388
+ MultiIndex(levels=[['cobra', 'python'], [2018, 2019]],
1389
+ labels=[[1, 1, 0, 0], [0, 1, 0, 1]],
1390
+ names=['kind', 'year'])
1391
+ >>> idx.rename(['species', 'year'])
1392
+ MultiIndex(levels=[['cobra', 'python'], [2018, 2019]],
1393
+ labels=[[1, 1, 0, 0], [0, 1, 0, 1]],
1394
+ names=['species', 'year'])
1395
+ >>> idx.rename('species')
1389
1396
Traceback (most recent call last):
1390
1397
TypeError: Must pass list-like as `names`.
1391
1398
"""
0 commit comments