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.