Атрибут names
Атрибут names применяется к объекту MultiIndex
и возвращает кортеж с именами уровней индекса.
С помощью этого атрибута можно как получить текущие имена,
так и установить новые, присвоив ему список или кортеж строк.
Если имена не заданы, атрибут вернёт кортеж из None значений.
Количество элементов в кортеже соответствует количеству уровней индекса.
Синтаксис
# Получение имен
index.names
# Установка имен
index.names = ['name1', 'name2']
Пример
Давайте создадим MultiIndex и посмотрим на его имена по умолчанию:
import pandas as pd
arrays = [[1, 1, 2, 2], ['a', 'b', 'a', 'b']]
index = pd.MultiIndex.from_arrays(arrays)
print(index.names)
Результат выполнения кода:
(None, None)
Пример
Теперь зададим имена для уровней индекса через атрибут names:
import pandas as pd
arrays = [[1, 1, 2, 2], ['a', 'b', 'a', 'b']]
index = pd.MultiIndex.from_arrays(arrays)
index.names = ['level_1', 'level_2']
print(index.names)
Результат выполнения кода:
['level_1', 'level_2']
Пример
Атрибут names также работает с DataFrame, имеющим мультииндекс:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4],
'b': [10, 20, 30, 40]
}, index=pd.MultiIndex.from_tuples([(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b')]))
df.index.names = ['first', 'second']
print(df.index.names)
Результат выполнения кода:
['first', 'second']
Смотрите также
-
класс
MultiIndex,
который представляет собой иерархический индекс -
метод
set_names,
который устанавливает имена уровней -
атрибут
levels,
который возвращает уровни индекса -
атрибут
nlevels,
который возвращает количество уровней