Pandas: как сбросить индекс после использования dropna()
Вы можете использовать следующий базовый синтаксис для сброса индекса DataFrame pandas после использования функции dropna() для удаления строк с отсутствующими значениями:
df = df. dropna (). reset_index (drop= True )
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: Сбросить индекс в Pandas после использования dropna()
Предположим, у нас есть следующий DataFrame pandas, содержащий информацию о различных баскетболистах:
import pandas as pd import numpy as np #create dataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, np.nan, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, np.nan, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, np.nan, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 18.0 5.0 11.0 1 B NaN 7.0 8.0 2 C 19.0 7.0 10.0 3D 14.0 9.0 6.0 4 E 14.0 12.0 6.0 5 F 11.0 NaN 5.0 6G 20.0 9.0 NaN 7 H 28.0 4.0 12.0
Теперь предположим, что мы используем функцию dropna() для удаления всех строк из DataFrame, в столбце которых отсутствует значение:
#drop rows with nan values in any column df = df. dropna () #view updated DataFrame print (df) team points assists rebounds 0 A 18.0 5.0 11.0 2 C 19.0 7.0 10.0 3D 14.0 9.0 6.0 4 E 14.0 12.0 6.0 7 H 28.0 4.0 12.0
Обратите внимание, что индекс по-прежнему содержит исходные значения индекса для каждой строки.
Чтобы сбросить индекс после использования функции dropna() , мы можем использовать следующий синтаксис:
#drop rows with nan values in any column df = df. dropna (). reset_index (drop= True ) #view updated DataFrame print (df) team points assists rebounds 0 A 18.0 5.0 11.0 1 C 19.0 7.0 10.0 2 D 14.0 9.0 6.0 3 E 14.0 12.0 6.0 4 H 28.0 4.0 12.0
Обратите внимание, что каждая из строк с пропущенными значениями была удалена, а значения индекса сброшены.
Значения индекса теперь варьируются от 0 до 4.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Как распечатать Pandas DataFrame без индекса
Как фильтровать по значению индекса в Pandas
Как использовать первый столбец в качестве индекса в Pandas