Al trabajar con un conjunto de datos y ejecutar el preprocesamiento necesario, los datos preprocesados deben guardar en un formato de datos como CSV, Excel u otro. En aplicaciones basadas en datos, CSV (valores separados por comas) se usa con frecuencia para la comunicación de datos. Por lo general, almacenamos los datos de las aplicaciones web en un marco de datos, matriz, lista, tupla, diccionario, etc. Los clientes podrían exigir que los datos se exporten como un archivo CSV. Los datos se almacenan en archivos CSV como una secuencia de datos. Podemos usar pandas python para escribir datos en un archivo CSV como en otros lenguajes de programación.
¿Qué es un marco de datos pandas??
En Python, el módulo Pandas incluye una función "Pandas.DataFrame () "para crear un DataFrame. Similar a una hoja de cálculo, un DataFrame es una estructura de datos que organiza datos en una tabla 2D de columnas y filas. Debido a su adaptabilidad y simplicidad en el almacenamiento y manipulación de datos, los marcos de datos se encuentran entre las estructuras de datos más populares y efectivas en el análisis de datos modernos.
Sintaxis:
pandas.DataFrame (datos, índice, columnas, dtype, copia)
Cómo exportar un marco de datos a un CSV en Python?
El método to_csv () en python pandas puede convertir un marco de datos en un archivo CSV. Podemos escribir la salida en un archivo si se proporciona un parámetro/argumento de archivo. Si no, se devolverá una cadena CSV. Aunque la función TO_CSV () tiene muchos atributos, solo hemos mencionado los que se usan con mayor frecuencia aquí.
Sintaxis:
marco de datos.to_csv (ruta, sep, na_rep, float_format, columnas, encabezado, índice, modo, compresión)
Dónde,
camino: Se refiere a la manija de archivo o str. En general, especifica la ruta/ubicación de un archivo u objeto. Ninguno por defecto. Cuando no se suministra ninguno, se devuelve un valor de cadena.
sep: Es un valor de cadena que tiene una longitud de 1. La coma es su valor predeterminado (,).
na_rep: Un valor de datos de cadena que simboliza o representa valores faltantes o nulos. El valor predeterminado es la cadena vacía.
float_format: Contiene un valor de cadena para formatear o estructurar una cadena de números de punto flotante.
columnas: Es un parámetro que es opcional y se refiere a una serie que especifica las columnas que deben estar presentes en la salida CSV.
encabezamiento: Una colección de cuerdas o un valor booleano. Si se establece en falso. Los nombres de las columnas no se escribirán en la salida. Verdadero es su valor predeterminado.
Índice: Si se establece en True, los datos de CSV incluyen el índice. De lo contrario, el CSV de salida no tiene el valor del índice.
Modo: En el modo de escritura, se refiere a un valor de cadena. W es su valor predeterminado.
Compresión: Un valor de cadena que comprime el modo utilizando una de las siguientes opciones: Infer, GZIP, XZ, BZ2, ZIP o NINGUNO. Si "inferir" y "ruta" son similares a la ruta, identifica la compresión de las extensiones de archivo ".GZ ",".bz2 "," zip "o" xz ". De lo contrario, no se realiza compresión.
Ahora crearemos un marco de datos PANDAS que podemos usar para exportar los datos a CSV en los ejemplos de este tutorial.
Creación de una muestra de datos de datos
Para crear nuestro marco de datos, primero importaremos el módulo requerido, yo.mi., pandas. Después de importar el módulo, la función DataFrame () creará nuestro DataFrame.
Hemos creado nuestro marco de datos pasando un Python Dict dentro del PD.Función DataFrame (). Nuestro marcado de datos consta de tres columnas (nombre, edad y marcas).
Ahora, aprendamos cómo exportar un marco de datos a un archivo CSV.
Exportar DataFrame a CSV sin índice
Cuando usas el DF.método to_csv () Para exportar un marco de datos de pandas a un archivo csv, un índice para el marco de datos se incluye automáticamente. Establecer índice = falso en verdadero si no lo desea o necesita incluir un índice.
Archivo de salida:
Cuando el índice no tiene sentido, hacerlo puede ser útil. Pero, si el índice almacena datos importantes o significativos, como los datos de la serie temporal, no debe eliminarlo. Verdadero es el valor predeterminado para el parámetro de índice. Como resultado, simplemente puede dejar solo el parámetro si desea que se incluya el índice
Exportación de DataFrame a CSV con columnas específicas
Antes de exportar, puede conocer el tamaño de sus datos cuando lo exporta. Limitar las columnas que exporta es un método para reducir el tamaño del archivo CSV generado. Usando el parámetro de columnas, podemos especificar una lista que contenga los nombres de las columnas que queremos incluir en nuestro archivo de exportación. La exportación excluirá cualquier columna que no esté presente en la lista.
Archivo de salida:
Especificamos el parámetro de columna con una lista que contiene nombres de columna "nombre" y "marcas", por lo que solo estas dos columnas se han exportado a nuestro archivo CSV.
Exportar el marco de datos a CSV y cambiar el separador
Podemos delimitar el archivo CSV por caracteres que no sean una coma, aunque las comas son el personaje que les da su nombre (archivos de valor separados por comas). El valor de la pestaña, por ejemplo, es un separador típico y está representado \ t. En los pandas, podemos cambiar nuestro separador utilizando el argumento de SEP.
Archivo de salida:
Exportar el marco de datos a CSV y tratar con los valores faltantes/ninguno
La información sobre los datos faltantes no se incluye de forma predeterminada en archivos CSV. Se generará una celda vacía cuando los datos faltantes se exporten a CSV. El argumento NA_REP le permite mostrar un valor alternativo, como NULL o N/A, en lugar de todos los valores faltantes. Esto toma cualquier tipo de cadena como entrada, pero el valor predeterminado es una cadena vacía. Para esto, utilizaremos otro marco de datos que contiene algunos valores de datos faltantes.
Establezcamos la cadena "nulo" como el valor del parámetro NA_REP.
Archivo de salida:
Exportar el marco de datos a CSV sin encabezado
En Data Science, un conjunto de datos puede requerir la exportación de datos de un marco de datos sin encabezado en algún momento. Este es a menudo el caso cuando se exportan enormes conjuntos de datos que deben unirse más tarde. Un marco de datos se puede convertir fácilmente a CSV sin el encabezado. Para lograr esto, el argumento del encabezado se puede usar. Es cierto por defecto, lo que indica que el encabezado se incluirá.
Archivo de salida:
Comprimir datos al exportar DataFrame a CSV
Puede ser útil comprimir grandes conjuntos de datos cuando se trabaja con los destinados al almacenamiento a largo plazo, especialmente al guardarlos en formato CSV. El tamaño del archivo disminuye a medida que se comprime un conjunto de datos. Sin embargo, la exportación de datos de datos al proceso CSV tomará más tiempo. Del mismo modo, los pandas tardarán más en transformar el CSV en un marco de datos. Debido a que la compresión requiere más tiempo que la exportación simple, lleva más tiempo. Veamos cómo podemos comprimir nuestros datos utilizando el argumento de compresa:
Producción:
El archivo CSV de salida ahora está comprimido.
Exportar DataFrame a archivo CSV con diferentes codificaciones
A menudo necesitará cifrar datos cuando trabaje con datos de cadena. Si se trata de datos codificados o numéricos, esto es con menos frecuencia, pero las cadenas a menudo necesitan instrucciones adicionales sobre cómo deben interpretarse.
El formato de codificación UTF-8, uno de los formatos de codificación más utilizados, es el tipo de codificación de forma predeterminada. Usemos la codificación UTF-16 para exportar DataFrame a CSV.
Producción:
Conclusión
En este tutorial, primero vimos la introducción de archivos CSV y Pandas DataFrame. Discutimos cómo se podría exportar un marco de datos a un CSV en Python. Intentamos explicar cómo usar los pandas.método to_csv () de manera efectiva y cómo podemos usar diferentes argumentos de la función to_csv () para modificar cómo se exportan los datos. Después de cubrir esta publicación, todos deberían poder crear un archivo CSV a partir de un marcador de datos PANDAS.