Как сбросить индекс в Pandas DataFrame(с примерами)


Вы можете использовать следующий синтаксис для сброса индекса в pandas DataFrame:

df.reset_index(drop= True , inplace= True )

Обратите внимание на следующие аргументы:

  • drop : Указание True запрещает pandas сохранять исходный индекс в виде столбца в DataFrame.
  • inplace : Указание True позволяет pandas заменить индекс в исходном DataFrame вместо создания копии DataFrame.

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: сбросить индекс и удалить старый индекс

Предположим, у нас есть следующие Pandas DataFrame:

import pandas as pd

#define DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]},
 index=[0, 4, 3, 5, 2, 1, 7, 6])

#view DataFrame
print(df)

 points assists rebounds
0 25 5 11
4 12 7 8
3 15 7 10
5 14 9 6
2 19 12 6
1 23 9 5
7 25 9 9
6 29 4 12

В следующем коде показано, как сбросить индекс DataFrame и полностью удалить старый индекс:

#reset index
df.reset_index(drop= True , inplace= True )

#view updated DataFrame
print(df)

 points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Обратите внимание, что индекс был сброшен, и значения в индексе теперь находятся в диапазоне от 0 до 7.

Пример 2: сбросить индекс и сохранить старый индекс как столбец

Предположим, у нас есть следующие Pandas DataFrame:

import pandas as pd

#define DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]},
 index=['A', 'C', 'D', 'B', 'E', 'G', 'F', 'H'])

#view DataFrame
print(df)

 points assists rebounds
A 25 5 11
C 12 7 8
D 15 7 10
B 14 9 6
E 19 12 6
G 23 9 5
F 25 9 9
H 29 4 12

В следующем коде показано, как сбросить индекс DataFrame и сохранить старый индекс в виде столбца в DataFrame:

#reset index and retain old index as a column
df.reset_index(inplace= True )

#view updated DataFrame
print(df)

 index points assists rebounds
0 A 25 5 11
1 C 12 7 8
2 D 15 7 10
3 B 14 9 6
4 E 19 12 6
5 G 23 9 5
6 F 25 9 9
7 H 29 4 12

Обратите внимание, что индекс был сброшен, и значения в индексе теперь находятся в диапазоне от 0 до 7.

Также обратите внимание, что старый индекс (с буквами) сохраняется как новый столбец в DataFrame под названием «индекс».

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как преобразовать индекс в столбец в Pandas
Как установить столбец в качестве индекса в Pandas
Как переименовать индекс в Pandas