pandas.DataFrame.reset_index
-
DataFrame.reset_index(self, level=None, drop=False, inplace=False, col_level=0, col_fill='')[source] -
Сброс индекса или его уровня.
Сбрасывает индекс DataFrame и использует вместо него стандартный. Если DataFrame имеет многоуровневый индекс, этот метод может удалить один или несколько уровней.
Параметры: -
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, то имя индекса повторяется.
Возвращает: - DataFrame
-
DataFrame с новым индексом.
См. также
-
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Если индекс имеет несколько уровней, мы можем сбросить подмножество из них:
>>> 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–2012, 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/0.25.0/reference/api/pandas.DataFrame.reset_index.html