Converter Pandas em CSV sem índice

Manav Narula 6 fevereiro 2021
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.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Pandas DataFrame