pandas.DataFrame.reset_index
- DataFrame.reset_index(level=None, *, drop=False, inplace=False, col_level=0, col_fill='', allow_duplicates=<no_default>, names=None)[source]
-
Сбросить индекс или его уровень.
Сбросить индекс DataFrame и использовать вместо него индекс по умолчанию. Если DataFrame имеет MultiIndex, этот метод может удалить один или несколько уровней.
- Параметры:
-
- level:int, str, tuple, or list, default None
-
Удалить из индекса только указанные уровни. По умолчанию удаляются все уровни.
- drop:bool, default False
-
Не пытаться вставлять индекс в столбцы DataFrame. Индекс будет сброшен до целочисленного индекса по умолчанию.
- inplace:bool, default False
-
Изменить ли DataFrame вместо создания нового.
- col_level:int or str, default 0
-
Если у столбцов несколько уровней, определяет, в какой уровень будут вставлены метки. По умолчанию они вставляются в первый уровень.
- col_fill:object, default ‘’
-
Если у столбцов несколько уровней, определяет, как будут названы остальные уровни. Если задано None, имя индекса повторяется.
- allow_duplicates:bool, optional, default lib.no_default
-
Разрешить создание повторяющихся меток столбцов.
Добавлено в версии 1.5.0.
- names:int, str or 1-dimensional list, default None
-
Переименовать столбец DataFrame, содержащий данные индекса, с помощью заданной строки. Если DataFrame имеет MultiIndex, здесь должен быть список или кортеж длиной, равной количеству уровней.
Добавлено в версии 1.5.0.
- Возвращает:
-
- DataFrame или None
-
DataFrame с новым индексом или None, если
inplace=True.
См. также
DataFrame.set_index-
Действие, противоположное reset_index.
DataFrame.reindex-
Изменить индексы или расширить их.
DataFrame.reindex_like-
Изменить индексы так, чтобы они совпадали с индексами другого DataFrame.
Примеры
>>> df = pd.DataFrame([('bird', 389.0), ... ('bird', 24.0), ... ('mammal', 80.5), ... ('mammal', np.nan)], ... index=['falcon', 'parrot', 'lion', 'monkey'], ... columns=('class', 'max_speed')) >>> df class max_speed falcon bird 389.0 parrot bird 24.0 lion mammal 80.5 monkey mammal NaNПри сбросе индекса старый индекс добавляется в виде столбца, а вместо него используется новый последовательный индекс:
>>> df.reset_index() index class max_speed 0 falcon bird 389.0 1 parrot bird 24.0 2 lion mammal 80.5 3 monkey mammal NaNМожно использовать параметр drop, чтобы старый индекс не добавлялся в виде столбца:
>>> df.reset_index(drop=True) class max_speed 0 bird 389.0 1 bird 24.0 2 mammal 80.5 3 mammal NaNТакже можно использовать reset_index с MultiIndex.
>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'), ... ('bird', 'parrot'), ... ('mammal', 'lion'), ... ('mammal', 'monkey')], ... names=['class', 'name']) >>> columns = pd.MultiIndex.from_tuples([('speed', 'max'), ... ('species', 'type')]) >>> df = pd.DataFrame([(389.0, 'fly'), ... (24.0, 'fly'), ... (80.5, 'run'), ... (np.nan, 'jump')], ... index=index, ... columns=columns) >>> df speed species max type class name bird falcon 389.0 fly parrot 24.0 fly mammal lion 80.5 run monkey NaN jumpС помощью параметра names можно выбрать имя столбца индекса:
>>> df.reset_index(names=['classes', 'names']) classes names speed species max type 0 bird falcon 389.0 fly 1 bird parrot 24.0 fly 2 mammal lion 80.5 run 3 mammal monkey NaN jumpЕсли индекс содержит несколько уровней, можно сбросить только некоторые из них:
>>> df.reset_index(level='class') class speed species max type name falcon bird 389.0 fly parrot bird 24.0 fly lion mammal 80.5 run monkey mammal NaN jumpЕсли индекс не удаляется, по умолчанию он помещается на верхний уровень. Его можно поместить на другой уровень:
>>> df.reset_index(level='class', col_level=1) speed species class max type name falcon bird 389.0 fly parrot bird 24.0 fly lion mammal 80.5 run monkey mammal NaN jumpЕсли индекс вставляется под другой уровень, с помощью параметра col_fill можно указать, под каким именно:
>>> df.reset_index(level='class', col_level=1, col_fill='species') species speed species class max type name falcon bird 389.0 fly parrot bird 24.0 fly lion mammal 80.5 run monkey mammal NaN jumpЕсли для col_fill указать несуществующий уровень, он будет создан:
>>> df.reset_index(level='class', col_level=1, col_fill='genus') genus speed species class max type name falcon bird 389.0 fly parrot bird 24.0 fly lion mammal 80.5 run monkey mammal NaN jump
© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.DataFrame.reset_index.html