Pandas: como redefinir o índice após usar dropna()
Você pode usar a seguinte sintaxe básica para redefinir um índice de um DataFrame do pandas depois de usar a função dropna() para eliminar linhas com valores ausentes:
df = df. dropna (). reset_index (drop= True )
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: redefinir o índice no Pandas após usar dropna()
Suponha que temos o seguinte DataFrame do pandas que contém informações sobre vários jogadores de basquete:
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
Agora suponha que usamos a função dropna() para remover todas as linhas do DataFrame que possuem um valor ausente em uma coluna:
#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
Observe que o índice ainda contém os valores originais do índice para cada linha.
Para redefinir o índice após usar a função dropna() , podemos usar a seguinte sintaxe:
#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
Observe que cada uma das linhas com valores ausentes foi excluída e os valores do índice foram redefinidos.
Os valores do índice agora variam de 0 a 4.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:
Como imprimir Pandas DataFrame sem índice
Como filtrar por valor de índice no Pandas
Como usar a primeira coluna como índice no Pandas