Converter Pandas em CSV sem índice

Como sabe, o índice pode ser pensado como um ponto de referência para armazenar e aceder a registos num DataFrame. São únicos para cada linha e normalmente variam de 0 até à última linha do DataFrame, mas também podemos ter números de série, datas, e outras colunas únicas como o índice de um DataFrame.

Mas por vezes, ao exportar ou ler ficheiros, esta coluna de índice extra pode não ser exigida pelo utilizador. O problema será ilustrado mais claramente utilizando o seguinte DataFrame.

import pandas as pd

df = pd.DataFrame([[6,7,8],
                   [9,12,14],
                   [8,10,6]], columns = ['a','b','c'])

print(df)

Resultado:

   a   b   c
0  6   7   8
1  9  12  14
2  8  10   6

Como pode ver, temos um índice adicional adicionado ao DataFrame, que pode ser evitado pelo utilizador enquanto o guarda num ficheiro. Se quisermos converter este DataFrame para um ficheiro CSV sem a coluna de índice, podemos fazê-lo definindo o index para ser False na função to_csv().

Exemplos de códigos:

import pandas as pd

df = pd.DataFrame([[6,7,8],
                   [9,12,14],
                   [8,10,6]], columns = ['a','b','c'])

print(df)

df.to_csv("data2.csv", index = False)

Resultado:

   a   b   c
0  6   7   8
1  9  12  14
2  8  10   6

Como visto na saída, o DataFrame tem um índice, mas como definimos o parâmetro index para False, o ficheiro CSV exportado não terá aquela coluna extra.

converter Pandas para CSV sem índice

Se exportarmos um ficheiro com uma coluna de índice extra (sem definir o parâmetro index como False) e depois tentarmos lê-lo, obteremos uma coluna extra estranha.

import pandas as pd

df = pd.DataFrame([[6,7,8],
                   [9,12,14],
                   [8,10,6]], columns = ['a','b','c'])

print(df)

df.to_csv("data2.csv")

df_new = pd.read_csv("data2.csv")

print(df_new)

Resultado:

   a   b   c
0  6   7   8
1  9  12  14
2  8  10   6
   Unnamed: 0  a   b   c
0           0  6   7   8
1           1  9  12  14
2           2  8  10   6

Como se pode ver, o df_new DataFrame tem uma coluna extra de Unnamed.

Artigo relacionado - Pandas DataFrame

  • Como adicionar uma nova coluna ao DataFrame existente com valor padrão em Pandas
  • Definir Colunas como Índice em Pandas Dataframe
  • Artigo relacionado - Pandas CSV

  • Seleccionar Várias Colunas em Pandas Dataframe
  • Obter Índice de Linhas cuja Coluna Corresponde a Valor Específico em Pandas