pandas.DataFrame.reset_index
- DataFrame.reset_index(level=None, *, drop=False, inplace=False, col_level=0, col_fill='', allow_duplicates=_NoDefault.no_default, names=None)[source]
-
Сброс индекса или уровня индекса.
Сбрасывает индекс DataFrame и использует вместо него стандартный индекс. Если у DataFrame есть Многоуровневый индекс, этот метод может удалить один или несколько уровней.
- Параметры:
-
- уровень:int, str, кортеж или список, по умолчанию None
-
Удалить только указанные уровни индекса. По умолчанию удаляются все уровни.
- drop:bool, по умолчанию False
-
Не пытаться вставить индекс в столбцы DataFrame. Это сбросит индекс до стандартного целочисленного индекса.
- inplace:bool, по умолчанию False
-
Изменять DataFrame или создавать новый.
- col_level:int или str, по умолчанию 0
-
Если у столбцов несколько уровней, определяет, в какой уровень вставляются метки. По умолчанию вставляется в первый уровень.
- col_fill:объект, по умолчанию ‘’
-
Если у столбцов несколько уровней, определяет, как называются другие уровни. Если None, то имя индекса повторяется.
- allow_duplicates:bool, необязательно, по умолчанию lib.no_default
-
Разрешить создание дублирующихся меток столбцов.
Добавлен в версии 1.5.0.
- names:int, str или одномерный список, по умолчанию None
-
Используя заданную строку, переименовать столбец DataFrame, содержащий данные индекса. Если у DataFrame есть Многоуровневый индекс, это должен быть список или кортеж длиной, равной количеству уровней.
Добавлен в версии 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 с Многоуровневым индексом.
>>> 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–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.DataFrame.reset_index.html