python - normalizar - renombrar una columna pandas




Pandas escribiendo el marco de datos en un archivo CSV (5)

Tengo un marco de datos en pandas que me gustaría escribir en un archivo CSV. Estoy haciendo esto usando:

df.to_csv('out.csv')

Y obteniendo el error:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b1' in position 20: ordinal not in range(128)

¿Hay alguna forma de evitar esto fácilmente (es decir, tengo caracteres Unicode en mi marco de datos)? ¿Y hay una manera de escribir en un archivo delimitado por tabulaciones en lugar de un CSV usando, por ejemplo, un método 'to-tab' (que no creo que exista)?


A veces se enfrenta a estos problemas si también especifica la codificación UTF-8. Le recomiendo que especifique la codificación mientras lee el archivo y la misma codificación mientras escribe en el archivo. Esto podría resolver su problema.


Me gustaría agregar algo a lo que Andy Hayden ya mencionó en su respuesta.

Cuando almacena un objeto DataFrame en un archivo csv utilizando el método to_csv , probablemente no necesite almacenar los índices anteriores de cada fila del objeto DataFrame .

Puede evitar eso pasando un valor booleano False al parámetro de index .

Algo así como

df.to_csv(file_name, encoding='utf-8', index=False)

Entonces si tu objeto DataFrame es algo como:

  Color  Number
0   red     22
1  blue     10

El archivo csv almacenará:

Color,Number
red,22
blue,10

en lugar de (el caso cuando se pasó el valor predeterminado True )

,Color,Number
0,red,22
1,blue,10

Encontré que vale la pena compartirlo, Saludos! :-)


Para delimitar por una pestaña puedes usar el argumento sep de to_csv :

df.to_csv(file_name, sep='\t')

Para usar una codificación específica (por ejemplo, 'utf-8') use el argumento de encoding :

df.to_csv(file_name, sep='\t', encoding='utf-8')

Si no quieres el índice.

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

df.to_csv('out.csv', sep=',')

Funcionará definitivamente.

Cambie df al nombre de su nombre de marco de datos y ejecute.

Utilice anaconda inactivo.





dataframe