abril 20, 2024

Cómo explorar conjuntos de datos en Go

Para analizar un conjunto de datos, primero debe comprender los datos. A veces, es posible que no tenga conocimiento de primera mano de un conjunto de datos, lo que le impide aprovecharlo al máximo. Como analista de datos, puede utilizar el análisis exploratorio de datos (EDA) para obtener información sobre su conjunto de datos antes de un análisis en profundidad.

El análisis exploratorio de datos (EDA) examina un conjunto de datos para obtener información significativa. El proceso de ejecución de la EDA implica consultar información sobre la estructura y el contenido de un conjunto de datos.

APROVECHA EL VIDEO DEL DÍA

Instalación del paquete Gota

El paquete Gota es el más popular para el análisis de datos en Go; es como el paquete Pandas Python pero para Go. El paquete Gota contiene muchos métodos para analizar conjuntos de datos y leer formatos JSON, CSV y HTML.

Ejecute este comando en su terminal en el directorio donde inicializó un archivo de módulo Go:

go get -u github.com/go-gota/gota

El comando instalará Gota en el directorio local, listo para que importe el paquete para usarlo.

Al igual que Panda, Gota admite operaciones de marcos de datos y series. Hay dos subpaquetes en el paquete Gota: la serie y el paquete de marco de datos. Puede importar uno o ambos, según sus necesidades.


import (
"github.com/go-gota/gota/series"
"github.com/go-gota/gota/dataframe"
)

Leer un conjunto de datos usando el paquete Gota

Puede usar cualquier archivo CSV que desee, pero los siguientes ejemplos muestran los resultados de un conjunto de datos de Kaggle, que contiene datos de precios de computadoras portátiles.

Gota le permite leer formatos de archivo CSV, JSON y HTML para crear marcos de datos usando el archivo Leer CSV, Leer JSONY Leer HTML métodos. Aquí se explica cómo cargar un archivo CSV en un objeto de marco de datos:

file, err := os.Open("/path/to/csv-file.csv")

if err != nil {
fmt.Println("file open error")
}

dataFrame := dataframe.ReadCSV(file)
fmt.Println(dataFrame)

Puedes usar el Abrir método de sistema operativo paquete para abrir un archivo CSV. El método ReadCSV lee el objeto de archivo y devuelve un objeto de marco de datos.

Cuando imprime este objeto, la salida está en formato tabular. Puede manipular aún más el objeto del marco de datos utilizando los diversos métodos proporcionados por Gota.


El objeto solo imprimirá algunas de las columnas si un conjunto de datos tiene más de un valor establecido.

Recuperar el tamaño del conjunto de datos

El tamaño de un marco de datos es el número de filas y columnas que contiene. Puede recuperar estas dimensiones utilizando el Oscuro método del objeto dataframe.

var rows, columns = dataFrame.Dims()

Reemplace una de las variables con un guión bajo para recuperar solo la otra dimensión. También puede consultar individualmente el número de filas y columnas, utilizando el Ahora Y Ncol métodos.

var rows = dataFrame.Nrow()
var columns = dataFrame.Ncol()

Recuperar los tipos de datos de las columnas

Deberá conocer los tipos de datos compuestos en las columnas de un conjunto de datos para analizarlo. Puede recuperarlos utilizando el Tipos método de su objeto de marco de datos:

var types = dataFrame.Types()
fmt.Println(types)

El método Types devuelve una sección que contiene los tipos de datos de la columna:

Recuperación de nombres de columnas

Necesitará los nombres de las columnas para seleccionar columnas específicas para las operaciones. Puedes usar el nombres método para recuperarlos.

var columnNames := dataFrame.Names()
fmt.Println(columnNames)

El método Names devuelve una parte de los nombres de las columnas.

Comprobación de valores perdidos

Es posible que tenga un conjunto de datos que contenga valores nulos o no numéricos. Puede verificar estos valores usando HasNaN Y IsNaN métodos de un objeto de serie:

aCol := dataFrame.Col("display_size")
var hasNull = aCol.HasNaN()
var isNotNumber = aCol.IsNaN()

HasNan comprueba si una columna contiene elementos nulos. IsNaN devuelve una parte de los valores booleanos que representan si cada valor de la columna es un número.

Realización de análisis estadísticos descriptivos

El análisis estadístico descriptivo ayuda a comprender la distribución de las columnas numéricas. Utilizando el Para describir método, puede generar un análisis estadístico descriptivo de su conjunto de datos:

description := dataFrame.Describe()
fmt.Println(description)

El método Describe devuelve métricas como la media, la desviación estándar y los valores máximos de las columnas en un conjunto de datos. Los resume en un formato tabular.

También puede ser específico y centrarse en columnas y métricas seleccionando una columna en particular y luego consultando la métrica deseada. Primero debe recuperar la serie que representa una columna específica, luego use sus métodos de esta manera:

aCol := dataFrame.Col("display_size")
var mean = aCol.Mean()
var median = aCol.Median()
var minimum = aCol.Min()
var standardDeviation = aCol.StdDev()
var maximum = aCol.Max()
var quantiles25 = aCol.Quantile(25.0)

Estos métodos reflejan los resultados del análisis estadístico descriptivo de Describe.

Recuperar elementos en una columna

Una de las tareas finales que querrá realizar es verificar los valores en una columna para obtener una descripción general. Puedes usar el Registro método para mostrar los valores de una columna.

aCol := dataFrame.Col("brand")
fmt.Println(aCol.Records())

Este método devuelve una porción de cadenas que contienen los valores en la columna seleccionada:

Exportación de un marco de datos Gota a un archivo

Si elige ir más allá y usar el paquete Gota para un análisis de datos completo, deberá guardar los datos. Puedes usar el Escribir CSV Y Escribir JSON métodos de marco de datos para exportar archivos. Los métodos aceptan un archivo que creará utilizando el archivo sistema operativo paquetes Crear método.

Así es como puede exportar un marco de datos utilizando el paquete Gota.

dataFrame := dataframe.ReadCSV(file)
outputFile, err := os.Create("output.csv")

if err != nil {
log.Fatal(err)
}

err = dataFrame.WriteCSV(outputFile)

if err != nil {
log.Fatalln("There was an error writing the dataframe contents to the file")
}

los marco de datos variable es una representación del marco de datos. Cuando usas el Crear método de sistema operativo paquete, crea un nuevo archivo vacío con el nombre especificado y devuelve el archivo. El método WriteCSV acepta la instancia del archivo y devuelve un error o cero si no hay errores.

El análisis exploratorio de datos es importante

Comprender los datos y los conjuntos de datos es esencial para los analistas de datos y los especialistas en aprendizaje automático. Es una operación fundamental en su ciclo de trabajo y el análisis exploratorio de datos es una de las técnicas que utilizan para lograr este objetivo.

Hay más en el paquete Gota. Puede usarlo para varias funciones de gestión de datos de la misma manera que usaría la biblioteca Python de Pandas para el análisis de datos. Sin embargo, Gota no admite las mismas funciones que Pandas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *