Como remover coluna de índice em pandas (com exemplos)
Às vezes você pode querer remover a coluna de índice de um DataFrame do pandas em Python.
Como os DataFrames e Series do pandas sempre têm um índice, você não pode descartar o índice, mas pode redefini-lo usando o seguinte trecho de código:
df. reset_index (drop= True , place= True )
Por exemplo, suponha que temos o seguinte DataFrame do pandas com um índice de letras:
import pandas as pd #createDataFrame 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]}) #set index of DataFrame to be random letters df = df. set_index ([pd. Index (['a', 'b', 'd', 'g', 'h', 'm', 'n', 'z'])]) #display DataFrame df points assists rebounds a 25 5 11 b 12 7 8 d 15 7 10 g 14 9 6 h 19 12 6 m 23 9 5 n 25 9 9 z 29 4 12
Podemos usar a função reset_index() para redefinir o índice para que seja uma lista sequencial de números:
#reset indexes df. reset_index (drop= True , place= True ) #display DataFrame 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
Observe que o índice agora é uma lista de números de 0 a 7.
Como mencionado antes, o índice não é na verdade uma coluna. Assim, quando usamos o comando shape , vemos que o DataFrame possui 8 linhas e 3 colunas (em vez de 4 colunas):
#find number of rows and columns in DataFrame df. shape (8, 3)
Bônus: remova o índice ao importar e exportar
Muitas vezes você pode querer redefinir o índice de um DataFrame do pandas depois de lê-lo em um arquivo CSV. Você pode redefinir rapidamente o índice ao importá-lo usando o seguinte trecho de código:
df = pd. read_csv ('data.csv', index_col= False )
E você pode garantir que uma coluna de índice não seja gravada em um arquivo CSV durante a exportação usando o seguinte trecho de código:
df. to_csv ('data.csv', index= False )
Recursos adicionais
Como definir coluna como índice no Pandas
Como deletar linhas com valores NaN no Pandas
Como classificar valores em um DataFrame do Pandas