pandas.DataFrame.reset_index
-
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')[source] -
Для DataFrame с многоуровневым индексом возвращает новый DataFrame с информацией о маркировке в столбцах под именами индексов, по умолчанию «уровень_0», «уровень_1» и т. д., если какие-либо из них равны None. Для стандартного индекса используется имя индекса (если задано), в противном случае используется значение по умолчанию «индекс» или «уровень_0» (если «индекс» уже используется).
Параметры: уровень : int, str, кортеж или список, по умолчанию None
Удалить только указанные уровни из индекса. По умолчанию удаляет все уровни
drop : boolean, по умолчанию False
Не пытаться вставить индекс в столбцы DataFrame. Это сбросит индекс на стандартный целочисленный индекс.
inplace : boolean, по умолчанию False
Изменить DataFrame на месте (не создавать новый объект)
col_level : int или str, по умолчанию 0
Если у столбцов есть несколько уровней, определяет, в какой уровень вставляются метки. По умолчанию они вставляются в первый уровень.
col_fill : объект, по умолчанию ‘’
Если у столбцов есть несколько уровней, определяет, как называются другие уровни. Если None, то имя индекса повторяется.
Возвращает: resetted : 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.22.0/generated/pandas.DataFrame.reset_index.html