Essas colunas com nomes Unnamed: {}
podem aparecer quando geramos um DataFrame a partir de um arquivo.
Quando salvamos um DataFrame em formato CSV, por padrão o Pandas salva os índices em uma coluna. Depois, ao importar esse arquivo de volta, como a coluna não tem nome, é atribuído o nome padrão Unnamed
. Veja o exemplo:
In [1]: df = pd.DataFrame({1: ["a", "foo"],
2: ["b", "bar"],
3: ["c", "baz"]})
df
Out [1]:
1 2 3
0 a b c
1 foo bar baz
In [2]: df.to_csv("test.csv")
df_2 = pd.read_csv("test.csv")
df_2
Out [2]:
Unnamed: 0 1 2 3
0 0 a b c
1 1 foo bar baz
Para isso não aparecer, existem duas soluções:
1 - Na hora de ler o arquivo CSV, utilizar o parâmetro index_col
dentro de pd.read_csv
para indicar uma coluna a ser utilizada como índice do DataFrame:
In [3]: df_3 = pd.read_csv("test.csv", index_col=0)
df_3
Out [3]:
1 2 3
0 a b c
1 foo bar baz
2 - Antes de exportar o DataFrame, para que os rótulos das linhas (índices) não sejam salvos, utilize o parâmetro index=False
dentro de df.to_csv
:
In [4]: df_3.to_csv("test2.csv", index=False)
df_4.read_csv("test2.csv")
df_4
Out [4]:
1 2 3
0 a b c
1 foo bar baz