Spec-Zone.ru › pandas 0.23

pandas.Series.reset_index

Series.reset_index(level=None, drop=False, name=None, inplace=False) [source]

Генерирует новый DataFrame или Series с перезаданным индексом.

Это полезно, когда индекс необходимо обработать как столбец или когда индекс не имеет смысла и его нужно сбросить к значению по умолчанию перед выполнением другой операции.

Параметры:

level : int, str, кортеж или список, по умолчанию необязательно

Для Series с многоуровневым индексом удаляются только указанные уровни индекса. По умолчанию удаляются все уровни.

drop : bool, по умолчанию False

Просто сбросить индекс, без вставки его в качестве столбца в новый DataFrame.

name : объект, необязательно

Имя, используемое для столбца, содержащего исходные значения Series. Используется self.name по умолчанию. Этот аргумент игнорируется, когда drop равно True.

inplace : bool, по умолчанию False

Изменить Series на месте (не создавать новый объект).

Возвращает:

Series или DataFrame

Когда drop равно False (по умолчанию), возвращается DataFrame. Новые созданные столбцы будут находиться первыми в DataFrame, за которыми последуют исходные значения Series. Когда drop равно True, возвращается Series. В любом случае, если inplace=True, ничего не возвращается.

См. также

DataFrame.reset_index
Аналогичная функция для DataFrame.

Примеры

>>> s = pd.Series([1, 2, 3, 4], name='foo',
...               index=pd.Index(['a', 'b', 'c', 'd'], name='idx'))

Генерирует DataFrame с индексом по умолчанию.

>>> s.reset_index()
  idx  foo
0   a    1
1   b    2
2   c    3
3   d    4

Чтобы указать имя нового столбца, используйте name.

>>> s.reset_index(name='values')
  idx  values
0   a       1
1   b       2
2   c       3
3   d       4

Чтобы сгенерировать новую Series с установленным по умолчанию drop в True.

>>> s.reset_index(drop=True)
0    1
1    2
2    3
3    4
Name: foo, dtype: int64

Чтобы обновить Series на месте, без создания нового, установите inplace в True. Обратите внимание, что это также требует drop=True.

>>> s.reset_index(inplace=True, drop=True)
>>> s
0    1
1    2
2    3
3    4
Name: foo, dtype: int64

Параметр level интересен для Series с многоуровневым индексом.

>>> arrays = [np.array(['bar', 'bar', 'baz', 'baz']),
...           np.array(['one', 'two', 'one', 'two'])]
>>> s2 = pd.Series(
...     range(4), name='foo',
...     index=pd.MultiIndex.from_arrays(arrays,
...                                     names=['a', 'b']))

Чтобы удалить определенный уровень из индекса, используйте level.

>>> s2.reset_index(level='a')
       a  foo
b
one  bar    0
two  bar    1
one  baz    2
two  baz    3

Если level не задан, все уровни удаляются из индекса.

>>> s2.reset_index()
     a    b  foo
0  bar  one    0
1  bar  two    1
2  baz  one    2
3  baz  two    3

© 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.23.4/generated/pandas.Series.reset_index.html

Spec-Zone.ru

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