DataFrame.reset_index()

Метод reset_index() возвращает индекс в обычный столбец и заменяет его на стандартный диапазон 0..n-1. Часто используется после groupby(), set_index() или фильтрации.

Сигнатура

DataFrame.reset_index(level=None, *, drop=False, inplace=False,
                      col_level=0, col_fill="", allow_duplicates=False,
                      names=None)

Параметры

  • level — какой уровень MultiIndex сбросить (по умолчанию все).

  • drop — если True, не сохранять старый индекс как столбец, просто выбросить.

  • inplace — изменить на месте.

  • names — имена для новых столбцов из индекса.

Возвращаемое значение

Новый DataFrame (или None при inplace=True).

Примеры

Пример 1. Базовый сброс

import pandas as pd

df = pd.DataFrame({"v": [10, 20, 30]}, index=["a", "b", "c"])
print(df.reset_index())
  index   v
0     a  10
1     b  20
2     c  30

Пример 2. drop=True

import pandas as pd

df = pd.DataFrame({"v": [10, 20, 30]}, index=["a", "b", "c"])
print(df.reset_index(drop=True))
    v
0  10
1  20
2  30

Пример 3. После фильтрации

import pandas as pd

df = pd.DataFrame({"v": [10, 20, 30, 40]})
filtered = df[df["v"] > 15]
print(filtered.reset_index(drop=True))
    v
0  20
1  30
2  40

Пример 4. После groupby

import pandas as pd

df = pd.DataFrame({"k": ["a", "a", "b"], "v": [1, 2, 3]})
g = df.groupby("k")["v"].sum()
print(g.reset_index())
   k  v
0  a  3
1  b  3

Пример 5. MultiIndex — сброс одного уровня

import pandas as pd

idx = pd.MultiIndex.from_tuples([("A", 1), ("A", 2), ("B", 1)],
                                names=["sensor", "ts"])
df = pd.DataFrame({"v": [10, 20, 30]}, index=idx)
print(df.reset_index(level="ts"))
        ts   v
sensor
A        1  10
A        2  20
B        1  30

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.