Spec-Zone.ru › pandas 0.21

pandas.DataFrame.reset_index

DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='') [source]

Для DataFrame с многоуровневым индексом возвращает новый DataFrame с информацией о метках в столбцах под именами индексов, по умолчанию «level_0», «level_1» и т.д., если какие-либо из них равны None. Для стандартного индекса будет использовано имя индекса (если задано), в противном случае будет использовано значение по умолчанию «index» или «level_0» (если «index» уже занято).

Параметры:

level : 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.21.1/generated/pandas.DataFrame.reset_index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API