Convertir Pandas en CSV sin índice

Manav Narula 28 diciembre 2020
Convertir Pandas en CSV sin índice

Como sabes, el índice puede ser pensado como un punto de referencia para almacenar y acceder a los registros en un DataFrame. Son únicos para cada fila y normalmente van desde 0 hasta la última fila del DataFrame, pero también podemos tener números de serie, fechas y otras columnas únicas como el índice de un DataFrame.

Pero a veces, mientras se exportan o se leen archivos, esta columna de índice extra puede no ser requerida por el usuario. El problema se ilustrará más claramente usando el siguiente 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 puede ver, tenemos un índice adicional agregado al DataFrame, que puede ser evitado por el usuario mientras lo guarda en un archivo. Si queremos convertir este DataFrame en un archivo CSV sin la columna del índice, podemos hacerlo estableciendo el index como False en la función to_csv().

Códigos de ejemplo:

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 se ve en la salida, el DataFrame sí tiene un índice, pero como establecemos el parámetro index como False, el archivo CSV exportado no tendrá esa columna extra.

convertir Pandas a CSV sin índice

Si exportamos un archivo con una columna de índice extra (sin poner el parámetro index como False) y luego intentamos leerlo, obtendremos una columna extra extraña.

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 puedes ver, el df_new DataFrame tiene una columna extra 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

Artículo relacionado - Pandas DataFrame

Artículo relacionado - Pandas CSV