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