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 имеет Многоуровневый индекс, этот метод может удалить один или несколько уровней.
- Параметры
-
- level: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 с 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–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/1.5.0/reference/api/pandas.DataFrame.reset_index.html