Para analisar um conjunto de dados, primeiro você precisa entender os dados. Às vezes, você pode não ter conhecimento prévio de um conjunto de dados, impedindo que você aproveite ao máximo. Como analista de dados, você pode usar a Análise de dados exploratória (EDA) para obter conhecimento de seu conjunto de dados antes de uma análise aprofundada.

A análise exploratória de dados (EDA) investiga um conjunto de dados para obter insights significativos. O processo de execução da EDA envolve a consulta de informações sobre a estrutura e o conteúdo de um conjunto de dados.

Instalando o Pacote Gota

O pacote Gota é o mais popular para análise de dados em Go; é como o Pacote Python Pandas mas para ir. O pacote Gota contém muitos métodos para analisar conjuntos de dados e ler os formatos JSON, CSV e HTML.

Execute este comando em seu terminal no diretório onde você inicializou um arquivo de módulo Go:

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

O comando instalará o Gota no diretório local, pronto para você importar o pacote para usá-lo.

Assim como o Pandas, o Gota suporta operações de séries e dataframes. Existem dois subpacotes no pacote Gota: a série e o pacote dataframe. Você pode importar um ou ambos, dependendo de suas necessidades.

importar (
"github.com/vai-gota/gota/série"
"github.com/vai-gota/gota/dataframe"
)

Lendo um conjunto de dados usando o pacote Gota

Você pode usar qualquer arquivo CSV que desejar, mas os exemplos a seguir mostram resultados de um conjunto de dados Kaggle, contendo dados de preço de laptop.

Gota permite ler formatos de arquivo CSV, JSON e HTML para criar dataframes usando o Ler CSV, ReadJSON, e LeiaHTML métodos. Veja como você carrega um arquivo CSV em um objeto dataframe:

arquivo, erro := os. Open("/caminho/para/arquivo-csv.csv")

E se err!= nada {
fmt. Println("erro ao abrir arquivo")
}

dataFrame := dataframe. LeiaCSV(arquivo)
fmt. Println (dataFrame)

Você pode usar o Abrir método do SO pacote para abrir um arquivo CSV. O método ReadCSV lê o objeto de arquivo e retorna um objeto de dataframe.

Quando você imprime este objeto, a saída está em um formato tabular. Você pode manipular ainda mais o objeto dataframe usando os vários métodos que o Gota fornece.

O objeto imprimirá apenas algumas das colunas se um conjunto de dados tiver mais de um valor definido.

Buscando a dimensão do conjunto de dados

As dimensões de um dataframe são o número de linhas e colunas que ele contém. Você pode buscar essas dimensões usando o Escurece método do objeto dataframe.

var linhas, colunas = dataFrame. Escurece()

Substitua uma das variáveis ​​por um sublinhado para buscar apenas a outra dimensão. Você também pode consultar o número de linhas e colunas individualmente, usando o Novo e Ncol métodos.

var linhas = dataFrame. Nrow()
var colunas = dataFrame. Ncol()

Buscando os tipos de dados das colunas

Você precisará conhecer os tipos de dados compostos nas colunas de um conjunto de dados para analisá-lo. Você pode buscá-los usando o Tipos método do seu objeto de dataframe:

var tipos = dataFrame. Tipos()
fmt. Println (tipos)

O método Types retorna uma fatia contendo os tipos de dados da coluna:

Buscando os nomes das colunas

Você precisará dos nomes das colunas para selecionar colunas específicas para operações. Você pode usar o Nomes método para buscá-los.

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

O método Names retorna uma fatia dos nomes das colunas.

Verificando valores ausentes

Você pode ter um conjunto de dados que contém valores nulos ou não numéricos. Você pode verificar esses valores usando o HasNaN e IsNaN métodos de um objeto de série:

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

HasNan verifica se uma coluna contém elementos nulos. IsNaN retorna uma fatia de booleanos representando se cada valor na coluna é um número.

Realização de Análise Estatística Descritiva

Análise estatística descritiva ajuda a entender a distribuição de colunas numéricas. Usando o Descrever método, você pode gerar uma análise estatística descritiva do seu conjunto de dados:

descrição := dataFrame. Descrever()
fmt. Println (descrição)

O método Describe retorna métricas como média, desvio padrão e valores máximos de colunas em um conjunto de dados. Ele os resume em um formato tabular.

Você também pode ser específico e se concentrar em colunas e métricas selecionando uma coluna específica e consultando a métrica desejada. Você deve primeiro buscar a série que representa uma coluna específica e, em seguida, usar seus métodos da seguinte forma:

aCol := dataFrame. Col("display_size")
var média = aCol. Significa()
var mediana = aCol. Mediana()
var mínimo = aCol. Min()
var desvio padrão = aCol. StdDev()
var máximo = aCol. Max()
var quantis25 = aCol. Quantil(25.0)

Esses métodos espelham os resultados da análise estatística descritiva que o Descrever realiza.

Buscando os elementos em uma coluna

Uma das tarefas finais que você deseja realizar é verificar os valores em uma coluna para obter uma visão geral. Você pode usar o Registros método para visualizar os valores de uma coluna.

aCol := dataFrame. Col("marca")
fmt. Println (aCol. Registros())

Este método retorna uma fatia de strings contendo os valores em sua coluna selecionada:

Exportando um Gota Dataframe para um Arquivo

Se você optar por ir além e usar o pacote Gota para análise completa de dados, precisará salvar os dados em arquivos. Você pode usar o Escrever CSV e WriteJSON métodos de dataframe para exportar arquivos. Os métodos recebem um arquivo que você criará usando o SO pacote Crio método.

Veja como você pode exportar um dataframe usando o pacote Gota.

dataFrame := dataframe. LeiaCSV(arquivo)
outputFile, err := os. Create("saída.csv")

E se err!= nada {
registro. Fatal (erro)
}

err = dataFrame. WriteCSV (arquivo de saída)

E se err!= nada {
registro. Faalln("Ocorreu um erro ao gravar o conteúdo do dataframe no arquivo")
}

o quadro de dados variável é uma representação do dataframe. Quando você usa o Crio método do SO pacote, ele cria um novo arquivo vazio com o nome especificado e retorna o arquivo. O método WriteCSV recebe a instância do arquivo e retorna um erro ou nada se não houver erro.

A análise exploratória de dados é importante

Uma compreensão de dados e conjuntos de dados é essencial para analistas de dados e especialistas em aprendizado de máquina. É uma operação crítica em seu ciclo de trabalho, e a análise exploratória de dados é uma das técnicas que eles usam para conseguir isso.

Há mais no pacote Gota. Você pode usá-lo para várias funções de manipulação de dados da mesma forma que usaria a biblioteca Python Pandas para análise de dados. No entanto, o Gota não suporta tanta funcionalidade quanto o Pandas.