Как сбросить индекс в 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.