pandas.DataFrame.rename_axis#

DataFrame.rename_axis(mapper=, *, index=, columns=, axis=0, copy=None, inplace=False)[источник]#

Установите имя оси для индекса или столбцов.

Параметры:
mapperскаляр, список-подобный, опционально

Значение для установки атрибута имени оси.

индекс, столбцыскаляр, список, словарь или функция, необязательно

Скалярное значение, список, словарь или функции преобразований для применения к значениям этой оси. Обратите внимание, что columns параметр не разрешен, если объект является Series. Этот параметр применяется только для объектов типа DataFrame.

Используйте либо mapper и axis чтобы указать ось для нацеливания с mapper, или index и/или columns.

ось{0 или 'index', 1 или 'columns'}, по умолчанию 0

Ось для переименования. Для Series этот параметр не используется и по умолчанию равен 0.

copybool, по умолчанию None

Также скопировать исходные данные.

Примечание

The copy ключевое слово изменит поведение в pandas 3.0. Копирование при записи будет включено по умолчанию, что означает, что все методы с copy ключевое слово будет использовать механизм ленивого копирования для отложенного копирования и игнорирования copy ключевое слово. The copy ключевое слово будет удалено в будущей версии pandas.

Вы уже можете получить будущее поведение и улучшения, включив copy on write pd.options.mode.copy_on_write = True

inplacebool, по умолчанию False

Изменяет объект напрямую, вместо создания нового Series или DataFrame.

Возвращает:
Series, DataFrame или None

Тот же тип, что у вызывающего объекта, или None, если inplace=True.

Смотрите также

Series.rename

Изменение меток индекса или имени Series.

DataFrame.rename

Изменить метки или имя индекса DataFrame.

Index.rename

Установить новые имена для индекса.

Примечания

DataFrame.rename_axis поддерживает два соглашения вызова

  • (index=index_mapper, columns=columns_mapper, ...)

  • (mapper, axis={'index', 'columns'}, ...)

Первое соглашение о вызове будет изменять только имена индекса и/или имена объекта Index, который является столбцами. В этом случае параметр copy игнорируется.

Второй способ вызова изменит имена соответствующего индекса, если mapper является списком или скаляром. Однако, если mapper похож на словарь или является функцией, будет использоваться устаревшее поведение изменения оси метки.

Мы высоко рекомендуется использовать ключевые аргументы для уточнения вашего намерения.

Примеры

Series

>>> s = pd.Series(["dog", "cat", "monkey"])
>>> s
0       dog
1       cat
2    monkey
dtype: object
>>> s.rename_axis("animal")
animal
0    dog
1    cat
2    monkey
dtype: object

DataFrame

>>> df = pd.DataFrame({"num_legs": [4, 4, 2],
...                    "num_arms": [0, 0, 2]},
...                   ["dog", "cat", "monkey"])
>>> df
        num_legs  num_arms
dog            4         0
cat            4         0
monkey         2         2
>>> df = df.rename_axis("animal")
>>> df
        num_legs  num_arms
animal
dog            4         0
cat            4         0
monkey         2         2
>>> df = df.rename_axis("limbs", axis="columns")
>>> df
limbs   num_legs  num_arms
animal
dog            4         0
cat            4         0
monkey         2         2

MultiIndex

>>> df.index = pd.MultiIndex.from_product([['mammal'],
...                                        ['dog', 'cat', 'monkey']],
...                                       names=['type', 'name'])
>>> df
limbs          num_legs  num_arms
type   name
mammal dog            4         0
       cat            4         0
       monkey         2         2
>>> df.rename_axis(index={'type': 'class'})
limbs          num_legs  num_arms
class  name
mammal dog            4         0
       cat            4         0
       monkey         2         2
>>> df.rename_axis(columns=str.upper)
LIMBS          num_legs  num_arms
type   name
mammal dog            4         0
       cat            4         0
       monkey         2         2