Spec-Zone.ru › pandas 1

pandas.Series.reset_index

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

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

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

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

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

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

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

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

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

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

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

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

Разрешить создание дублирующихся меток столбцов.

Введено в версии 1.5.0.

Возвращает
Series или DataFrame или None

Когда 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–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.Series.reset_index.html

Spec-Zone.ru

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