Tag

python Archives - Análise Macro

Regressões Lineares em R e Python

By | mercado financeiro

É comum em nossas vidas construirmos raciocínios lógicos, a partir de acontecimentos do passado, de que tal variável afetou outra. Muitas vezes, lidamos com diversas teorias que demonstram esses raciocínios de forma cuidadosa de acordo com uma história de acontecimentos e de relações entre as variáveis. Mas, e se tivesse uma forma de conseguir estimar, numericamente o efeito dessas relações? Saber se há significância, ou até mesmo, conseguir a partir do efeito numérico prever um resultado? Tudo isso é possível a partir de uma regressão linear, como mostraremos no post de hoje utilizando o R e  o Python.

Regressão Linear

O objetivo principal da Regressão Linear, é a partir de uma equação matemática, definir o efeito de uma ou mais variável independente em uma variável dependente. O nome linear vem justamente da forma de sua equação, no qual define que esse efeito de relacionamentos é uma função linear dos seus parâmetros. Definimos a equação da seguinte forma:

 Y = a + bx+ erro

Nesta equação definimos uma Regressão Linear Simples, pois há somente uma variável independente x, que afeta a variável dependente Y. Ou seja, através desta equação, definimos o efeito de x em Y. O a é uma constante, que mensura o valor da estimativa caso x seja zero. O b (beta) é o parâmetro (ou coeficiente) que mensura a magnitude de uma variação de x em Y. O erro (também conhecido como resíduo) é simplesmente a diferente entre o valor observado de y com o valor estimado pela equação construída de Y, contendo basicamente as variáveis omitidas do modelo.

Para que não  possamos incorrer de muitos erros na Regressão, de forma contenha muitas variáveis omitidas e o valor predito não seja cheio de erros, podemos aumentar o número de variáveis independente de forma que diminua o valor do erro. Sendo assim, construímos uma Regressão Linear Múltipla, denotada pela equação, um pouco mais formal da seguinte forma:

 y = \beta_0 + \beta_1x_1 + \beta_2x_2 + \dots + \beta_k x_k + \varepsilon

Para estimar o valor de  \beta , o método mais comum é através do Mínimo Quadrados Ordinários, que através do conjunto de dados, minimiza o erro, através soma dos quadrados das diferenças entre o valor estimado e os dados observados. Esse tipo de método é mais comum, devido ao fato de que seus pressuposto são menos rígidos. A equação para Beta segue como:

 \hat{\beta} =arg min_{\beta}\sum_{i = 1}^n (y_i - {\beta} x_i)^2

Feito todas as considerações iniciais, podemos partir para um exemplo real no R e Python para exemplificar melhor o conceito de Regressão.

Regressão Linear no R

Criar uma Regressão Linear no R é algo extremamente simples. O que precisamos ter em mãos são os dados da variável dependente e da(s) variável(is) independente(s) e utilizar a função lm() com a fórmula da Regressão como argumento.

Regressão Linear no R: modelo simples de precificação de ativos

Um exemplo para mostrar o efeito de x sobre y ocorre no contexto de finanças, no qual podemos estimar o retorno de um ativo com base no retorno do mercado. Este é um modelo básico que se utiliza a Regressão Linear Simples e é útil para aqueles que queiram entender melhor sobre o efeito prático das relações entre duas variáveis.

Não iremos discorrer muito sobre a importação e transformação de dados. Essa parte ensinamos por completo no nosso curso de R para o Mercado Financeiro.

Importamos os preços de um ativo no R, bem como os pontos do Ibovespa no mesmo período. Transformamos ambos em forma de retorno diário (isto é, a variação do preço de um dia para o outro). O que queremos saber: o quanto a variação do retorno do Ibovespa, tido aqui como o Retorno do Mercado, afeta o Retorno do Ativo?

Após obter nossos dados, podemos utilizar a função lm() para calcular a regressão. Veja que usamos o simbolo ~, significando que o lado esquerdo (PETR4) é em função da direita (^BVSP). Com a função summary(), sumarizamos os resultados da regressão, obtendo os coeficientes, a significância e o R².

A grosso modo, a leitura dos resultados fica como: A estimativa da constante (intercepto) é igual a 0.001769, a estimativa do coeficiente beta dos retornos da Ibovespa é igual a 1.467227. O intercepto possui um p-valor de 0.16, ou seja, não é significante. Já o coeficiente dos retornos do Ibovespa possui um valor de 2e-16, ou seja, é significante. Medido pelo R², a variabilidade do Ibovespa explica 49,13% da PETR4. Por óbvio, não devemos tirar nenhuma relação de causalidade aqui, apenas de relacionamento entre as variáveis.

Um ponto interessante da Regressão Linear é também poder visualizar a relação de duas variáveis. Utilizando um gráfico de dispersão, é possível ver o relacionamento entre as observações das variáveis, também é possível criar uma Reta de Regressão, na qual realiza o ajuste entre a dispersão dos dados.

No R, criamos um gráfico de dispersão com reta de regressão através do pacote {ggplot2}.

Regressão Linear no Python

No Python, seguiremos o processo igual, retirando os mesmo dados da internet e transformando-os em retornos. Para criar a regressão, utilizaremos a função ols() da biblioteca statsmodels e de sey API formula.api.

No código abaixo seguiremos passos iguais que fizemos no R, importando os preços dos ativos e calculando os retornos diários, além de outros tratamentos.

Por fim, criamos a regressão utilizando a smf.ols com a respectiva formula como argumento. Visualizamos os resultados com fit() e summary(). Apesar de ligeiramente diferente do output do R, os principais resultados estão contidos. Há também uma ligeira diferença dos resultado também, devido ao arredondamento dos dados, porém, bem próximos.

Também é possível criar facilmente um gráfico de dispersão com um Reta de Regressão no Python, para isso, utilizamos a biblioteca {seaborn}.

Quer saber mais sobre R e Python?

Veja nossos cursos de aplicados de R e Python para Economistas. Também oferecemos cursos aplicado ao mercado financeiro através do nosso cursos R para o Mercado Financeiro

Lidando com datas no Python: as bibliotecas time e datetime

By | Python

Trabalhar com datas em uma computador pode ser algumas vezes complicado, visto a vasta quantidade detalhes que essa área oferece. Apesar disso, é possível descomplicar totalmente essa questão através de duas bibliotecas do Python: time e datetime. No post de hoje, iremos ensinar alguns pontos importantes sobre tempo e data no Python, bem como realizaremos exemplo com as duas bibliotecas.

Tipos de datas

No Python, podemos definir os tipos de dados para datas para os seguintes:

  • data: armazena uma data de calendário
  • time: armazena a hora do dia na forma de horas, minutos, segundos e microssegundos
  • datetime: armazena data e hora
  • timedelta: diferença entre dois valores de datas
  • tzinfo: fuso horário (time zone)

Para especificação de formatos de datas, é comum usar o padrão %Y para ano com quatro dígitos, %m para mês com dois dígitos e %d para dia com dois dígitos, formando o padrão %Y-%m-%d, comum para a importação de diversos dados em séries temporais ao redor do mundo. Ainda é possível que seja adicionado %H, que representa as horas em formato de 24h.

Existem diversos outros formatos para anos, meses, dias e horas, seguindo a lista abaixo:

ano

  • %y: ano de dois dígitos (22)
  • %Y: ano de quatro dígitos (2022)

mês

  • %b: Mês abreviado (Mar)
  • %B: Nomes completos de meses (March)
  • %m: Mês como número (03 ou 3)

dia

  • %d: Dia do mês (30)

dia da semana

  • %a: Nome abreviado (Wed)
  • %A: Nome completo
  • %w: número (3 - Sunday sempre como 0 até Saturday como 6)

horas

  • %H: 24 horas (00 até 23)
  • %I: 12 horas (01 até 12)
  • %M: minutos (01 até 59)

segundos

  • %S: segundos de 00 até 59

AM/PM

  • %p: utilizado junto com horas em formatos de 12 horas

Feito a introdução, podemos prosseguir com as bibliotecas e suas respectivas funções.

Time

A biblioteca time oferece ao usuário mecanismos de obter os valores do tempo no Python. O chamado tipo de dado timestamp, que são instantes específicos no tempo. Além também de calcular o tempo de processamento de um iteração ou função, útil para que aqueles que necessitam comparar tempos de resposta de modelos, de forma que se possa otimizar o trabalho e reduzir custos.

Construímos um vetor de tempo através do módulo locatime(), com o formato de struct_time, contendo todas as informações do momentos atual em formato de horas, dias, semanas, mês, anos, etc. É possível transformar esse tipo de dado com o módulo asctime, tornando-o mais interessante.

Através do código abaixo, podemos calcular o tempo de processamento do for construído. Vejam que realizamos através da diferença de contagem de dois objetos de data, resultando em um dado do tipo timedelta.

Datetime

A biblioteca datetime oferece uma gama de ferramentas para a criação e manipulação de séries no tempo para data frame. O seu uso em conjunto com o pandas os torna poderosos, de forma que aqueles que lidam com séries temporais podem se beneficiar.

Construímos um objeto do tipo datetime com a data de interesse através de datetime(). Veja que criamos um objeto com o dia atual, mas também podemos realizar com outras datas.

Para construir um objeto do tipo datetime com o momento atual, utilizamos os módulo now(), que retorna esse dado.

Se quisermos realizar transformações de datas, utilizamos strptime que passando o objeto de strings, e o formato que queremos, geramos um objeto datetime.

Também é possível construir essa transformação com objeto date time de formato numérico, utilizando strftime, porém com outro formato.

Por fim, podemos realizar comparações lógicas com as datas, além também de realizar operações númericas, sendo o mais comum o timedelta, que nos retorna a diferença entre duas datas.

Apesar de simples o contexto do datetime, a biblioteca é extremamente útil com o pandas, oferecendo um grande ferramental para manipulação de séries no tempo, como mudanças do índice, frequências e intervalos de datas, operações, entre outros.

Inteligência Artificial no mercado financeiro

By | mercado financeiro
De forma que se possa tomar as melhores decisões de investimento, realiza-se cálculos numéricos complexos de forma que possamos mitigar o risco ou maximizar o retorno. E para caso não queiramos utilizar métodos numéricos? Podemos utilizar nosso conhecimento subjetivo para tomar as decisões. Apesar de complicado para a mente humana, é possível criarmos uma inteligência que segue uma lógica qualitativa e pode auxiliar na criação de uma estratégia de investimento. No post de hoje, mostramos como podemos obter isso através do lógica fuzzy no Python.

 

O objetivo do uso da lógica fuzzy aqui será de traduzir o que os números dizem por meio de palavras, utilizando uma lógica e um aditivo. Iremos utilizar como exemplo o preço e o volume de negociações da ITUB4. A transformação da lógica pode ser obtida como:

  • SE (preço ~ barato) E (volume ~ baixo) ENTÃO (decisão ~ comprar)
  • SE (preço ~ barato) E (volume ~ alto) ENTÃO (decisão ~ comprar)
  • SE (preço ~ ideal) E (volume ~ baixo) ENTÃO (decisão ~ comprar)
  • SE (preço ~ ideal) E (volume ~ ideal) ENTÃO (decisão ~ manter)
  • SE (preço ~ ideal) E (volume ~ alto) ENTÃO (decisão ~ vender)
  • SE (preço ~ caro) E (volume ~ alto) ENTÃO (decisão ~ vender)

Através dessa lógica, podemos construir uma estratégia de investimento em um dado horizonte de tempo. Para isso, utilizaremos algumas biblioteca a nosso favor.

O primeiro passo será obter os dados do preço de fechamento e do volume do ativo. Utilizamos como janela o período entre 2021 e março de 2022. Como queremos construir uma lógica de subjetiva de baixo, ideal e alto, devemos entender através dos dados, calculandos o valores médios, o desvio padrão, os valores mínimos e máximos, bem como os quintis de 25% e 75%.

Definido os valores, montamos a lógica.

Construímos a função de pertinência (que nos auxiliará na construção dos pontos de decisão de compra, venda e manter). Aqui selecionamos o espaço dos dados.

Veja que em alguns pontos utilizamos a criação na "mão" (para as decisões e vol) ao invés dos valores dos quantis da média, isto por conta da quantidade de memória utilizada pelo código. Como forma de exemplificar, utilizamos dados não tão próximos da realidade.

Com o código abaixo, realizamos a fuzzificação da nossa lógica, construídos os pontos das regras da estratégia.

Com as regras em mãos, o que devemos é iterar em cada ponto de tempo a decisão baseada na lógica construída.

Com o código acima, obtemos os pontos de cada decisão criado pela estratégia salvo no objeto dec_fuzzy.

 

Por fim, visualizamos o gráfico com os pontos de cada decisão da estratégia. A infelicidade aqui está que visualmente é possível ver que há somente pontos de compra, o que pode ser irreal, devido ao fato de que utilizamos uma aproximação da distribuição do dados por conta de gargalos computacionais.

Referências

Caetano, M. A. L. (2021). Python e mercado financeiro: Programação para estudantes, investidores e analistas. Brasil: Editora Blucher.

Veja mais sobre nossos cursos aplicado para R e Python!

Nossos cursos oferecem o conhecimento necessário para que você possa adentrar no mundo da Análise de dados e consiga por em prática os seus códigos. Veja todos nossos cursos de Data Science aqui.

 

Migrando do Excel para R e Python

By | Hackeando o R, Python

Todos sabemos que boa parte do armazenamento e do uso dados viveu (ou ainda vive) dentro de planilhas eletrônicas, principalmente pelo Excel. Não podemos deixar de negar todos os pontos benéficos do uso dessas planilhas, seja pela simplicidade ou pela facilidade de aprender a utilizar uma. Por outro lado, sabemos das dificuldades que o  uso do Excel podem impor, comparado com as linguagens de programação R e Python, principalmente para a área de limpeza de dados, análise exploratória de grandes bases de dados e modelagem. Neste post, iremos mostrar aos usuários do Excel pontos em comuns com R e Python e também o que se pode alcançar a mais com essas linguagens.

Excel e Análise de dados

O Excel, por historicamente estar relacionado com o uso de dados, consequentemente leva aos seus usuários como intuitivamente a utilizar e compreender como trabalhar com dados: é possível ordenar, filtrar, agrupar, juntar dados, calcular suas medidas estatísticas e criar gráficos. Este é um conhecimento útil para análise de dados, porém, haverá momentos em que o usuário ficará preso em pouca variedade de técnicas, além de que se for realizar um passo adiante nessas técnicas irá encontrar dificuldades (no qual será o ponto que R e Python irão preencher).

Para começar nossas comparações e estudos, iremos pegar como exemplo um dataset (um conjunto de dados) com suas colunas (variáveis) e observações (linhas). Cada observação de uma coluna é indexada a outra observação de outra coluna. Importante dizer que uma coluna deve ser homogênea, isto é, possuir o mesmo tipo de dado. A grosso modo, existem dois tipos: categórico e quantitativo (que se dividem em mais tipos).

Veja um exemplo de dataset no Excel:

A partir das variáveis que encontram no dataset, o usuários do Excel poderiam ter uma variedade de recursos e funções para analisá-lo: medidas de tendência central (média, moda, mediana), medidas de dispersão (variância e desvio padrão), ordenamento e agrupamento de categoria, entre outras diversas possibilidades.

R para Análise de dados e Tidyverse

No R, começamos na forma em que podemos manipular os dados, por mais que estejamos lidando aqui com um dataset que está estruturado, é útil para que possamos realizar cálculos e tirar variáveis/observações que não é de nosso interesse. Para isso, iremos apresentar o mundo do Tidyverse, que envolve uma família de pacotes do R, utilizado para manipular dados. As funções mais comuns do Tidyverse são:

  • select() - seleciona as colunas de interesse;
  • mutate() - cria novas colunas baseado nas colunas já existentes;
  • rename() - renomeia as colunas de interesse;
  • arrange() - ordena as colunas de formas crescente ou decrescente;
  • filter() - seleciona as linhas com base em uma condição;
  • group_by() - agrupa as linhas (normalmente dados categóricos) das colunas de interesse;
  • summarize() - agrega os valores de cada grupo (útil para realizar cálculos agrupados);
  • left_join() - junta dois datasets que possuem uma mesma coluna correspondente.

Com o dataset (que no R e Python chamaremos de DataFrame) iris (que vem em conjunto do pacote Tidyverse no R), podemos fazer alguns exemplos, utilizando o Tidyverse para manipulação de dados. O primeiro passo será carregar o pacote (caso não tenha, instale com install.packages('tidyverse')). A função head() permite que possamos dar uma olhada nos dados antes de começar. Entendido os dados, podemos selecionar as colunas de interesse, com a função select(), veja que no primeiro argumento deve ser inserido o DataFrame que queremos utilizar e no segundo argumento a coluna deste DataFrameAlém de selecionar pelo nome, podemos selecionar pelo número da ordem da coluna no DataFrame. No exemplo, selecionamos as colunas de 1 até 3, utilizando 1:3.

Para  realizar o caminho contrário, isto é, retirar colunas de um DataFrame, utilizamos a mesma função, porém, com o símbolo de negação ! do R, que a grosso modo, significa realizar o contrário.

 

 

Para realizar mudanças nas colunas, utilizamos a função mutate(), seguindo o mesmo processo da função anterior, utilizando como primeiro argumento o DataFrame que queremos, por outro lado, como queremos criar uma nova coluna, devemos mudar um pouco a sintaxe, criando um nome para a nova coluna e mudando os valores que queremos com uma função ou cálculo. No exemplo, utilizamos toupper() para que todos as letras da colunas Species sejam maiúsculas.

Para renomear a coluna, utilizamos rename(), orientando o novo nome ao nome atual da coluna. Mudado de Sepal.Length para sepal_length.

A função arrange() irá permitir que a coluna Species fique em ordem crescente. Essa função também reconhece variáveis quantitativas, ordenando números por ordem crescente ou descrecente.

O filter(), como dito, permite filtrar as linhas de acordo com critérios escolhidos. No primeiro uso, colocamos como condição que apenas as observações do DataFrame que possuem Sepal.Width maior que 3.6 apareçam. No segundo uso, colocamos como condição que apenas as Species de nome setosa estivessem no DataFrame. E por último, mostramos como podemos colocar mais de uma condição misturando as duas condições anteriores utilizando o &.

Para agrupar os dados, utilizamos a função group_by, porém, não é tão útil utiliza-la sozinha, visto que precisamos realizar uma chamada de um cálculo ou mudanças nas observações para que tenha efeito. Para isso, o summarize() é uma ótima combinação, permitindo que seja feito operações nas colunas de acordo com o grupo selecionado pelo group_by(). No exemplo, calculamos a média de Sepal.Width para cada Species. Veja também que utilizamos o símbolo %>%, uma função do Tidyverse que nos ajuda a utilizar mais de uma função em sequencia.

Por fim, podemos juntar DataFrames diferentes (ou iguais no caso) para que possamos manipula-los em conjunto. O segredo é que ambos os DataFrames devem possuem pelo menos uma coluna em comum, de forma que elas tenham uma relação entre si. No exemplo, utilizamos a função left_join  para juntar o DataFrame iris da esquerda com o da direito, de acordo com a coluna Species.

Python para Análise de dados e pandas

O Python, assim como o R como Tidyverse, também possui uma biblioteca extremamente importante para facilitar a análise de dados, que é o pandas,  uma biblioteca que oferece um ferramental gigantesco não só para criar e utilizar DataFrames, como também para manipula-los. Nos exemplos, também iremos mostrar os mesmos resultados que obtivemos com o R e o Tidyverse, porém utilizando o pandas do Python.

O primeiro passo será carregar a biblioteca pandas no Python e também o DataFrame iris, que neste caso, utilizamos um arquivo .csv em conjunto com a função do pandas read_csv().

Utilizando a função head(), verificamos o nosso Dataframe para que possamos trabalhar. O primeiro passo será como selecionar colunas no Python, que segue apenas chamando o nosso DataFrame iris e através de dois colchete, selecionarmos os nomes das colunas queremos. Caso utilizarmos apenas um colchete, será retornado um objeto do tipo Series, e não DataFrame, o que não nos é útil no momento.

Para o caminho contrário, usamos drop() para que a coluna de interesse seja excluída do DataFrame. Veja que utilizamos o argumentos axis, isso porque queremos dropar colunas e não linhas.

Para criar novas colunas, seguimos o mesmo raciocínio de colchetes para selecionar colunas, porém utilizamos operadores matemáticos para realizar o procedimento. Veja que no exemplo somamos duas colunas selecionando-as com apenas um colchete (o suficiente para selecionar os valores).

Para ordenar as colunas, utilizamos a função sort_values(), especificando a coluna de interesse com o argumento by. O raciocinio desta função é o mesmo que o do Tidyverse.

Para realizar filtros, o raciocínio segue o mesmo para selecionar colunas, a diferença é que utilizamos o operador lógico para realizar o filtro. O porém aqui é que o que é retornado é na realidade um vetor de True e False dos valores que preencheram a condição exigida. A solução é utilizar o objeto do filtro dentro de um colchete do DataFrame para selecionar as observações do DataFrame.

Em relação ao agrupamento, utilizamos a função groupby() para selecionar a coluna de interesse. Logo em seguinda, utilizamos a função mean() para obter a média de todas as colunas agrupadas por Species.

E por fim, para juntarmos DataFrames, utilizamos a função merge(), que permite juntar DataFrames que possuem colunas em comum. Na função, o argumento on nos permite especificar qual coluna será essa. O argumento how especificar qual coluna será a base.

Vimos neste post as principais funções do R e Python que se assemelham com aquelas utilizadas no Excel para análise de dados. Existe ainda um enorme mundo a ser percorrer em ambas as linguagens, tanto na parte Estatística, de Visualização e também por Modelagem. Aqui na Análise Macro realizamos post diários sobre ambas as linguagens, ensinando desde o básico até o avançado. Para compreender ainda mais ambas as linguagens, nossos Cursos de R e Python aplicados a Ciências de Dados, Economia e Finanças pode lhe ajudar mais ainda.

Quer aprender mais sobre R e Python? 

Abrimos hoje, 22/3, as inscrições com 30% de desconto para as Turmas de Outono dos nossos Cursos Aplicados de R e Python. As vagas com esse desconto são limitadas aos primeiros inscritos. Haverá vagas para 25 Cursos Livres e 3 Formações. As turmas de Outono terão início no dia 04/04 e contarão com Cursos de Introdução à Programação em R ou Python, de modo que não é necessário nenhum conhecimento prévio nas linguagens. Para todos os detalhes sobre as Turmas de Outono, entre neste link e garanta sua vaga!

Introdução ao pandas

By | Python

A biblioteca pandas pode ser considerada a mais importante dentro do mundo da análise de dados para o Python. É a ferramenta principal para construção de estrutura, manipulação e limpeza de dados, sendo também utilizada com bibliotecas de processamento numérico e construção de gráficos. No post de hoje, iremos realizar uma breve introdução a esta biblioteca.

O ponto chave do pandas está na estrutura de dados no qual a biblioteca permite criar e manipular, são elas: Series e DataFrame.

Series é um objeto array unidimensional (tal qual o array criado com o Numpy) possuindo um índice (rótulos das observações). O DataFrame é considerado como um conjunto de dados retangulares ou dados tabulares, no qual cada coluna tem um tipo de dado, representados por um índice de colunas e um índice para cada observação (linha).

Para importar a biblioteca, iremos utilizar a seguinte convenção:

import pandas as pd

Series

Como dito, o objeto Series é um array unidimensional associado a um rótulo de dados chamado índice (ou index). Podemos criar uma Series a partir do seguinte código.

series_obj = pd.Series([4, 5, 6, 3])
series_obj

Veja que para cada valor há um número representando a ordem das observações. É possível criar os valores dos índice.

series_obj2= pd.Series([4, 7, 8, -2], index = ['a', 'b', 'c', 'd'])
series_obj2

Assim como um array do Numpy, é possível realizar cálculos com o objeto séries, seja através de funções, multiplicação escalar ou mesmo filtragens. A ordem do índice não se altera. Veja também que pela filtragem é possível escolher através do rótulo da observação.

# Calcula a média da Series
series_obj2.mean()
# Multiplica a array por 2
series_obj2 * 2
# Seleciona o valor no qual o índice é representado por 'a'
series_obj2['a']

DataFrame

Como dissemos, o DataFrame representa uma tabela de dados retangulares contendo uma coleção de colunas, preenchidas de uma série de observações, sejam elas numéricas, strings, booleans, etc. Possui também dois índices, sendo uma para as observações e outra para as colunas. Podemos dizer que é uma coleção de lista, dicionários ou arrays unidimensionais.

Vamos construir um DataFrame a partir de um conjunto de dicionários.

data_raw = {'cursos' : ['machine learning', 'econometria', 'séries', 'visualização'],
        'carga_horaria' : [90, 60, 90, 40],
        'desconto' : [True, False, True, False]}

data = pd.DataFrame(data_raw)
data

É possível também, a partir do pandas, importar dados de outros lugares. O mais comum é importar arquivos .csv. Vemos um exemplo abaixo, importando um dataset de treino de um conjunto de dados sobre preços de casas na Califórnia contidos no Google Colab.

california_houses = pd.read_csv('/content/sample_data/california_housing_train.csv')

Quando recebemos esse conjunto de dados, o interessante é explorá-lo para obter uma noção de seu conteúdo. Podemos utilizar diversos métodos para isso.

# Retorna as primeiras linhas do DataFrame
california_houses.head()

# Exibe as informações sobre o DataFrame
california_houses.info()
# Sumariza as estatísticas
california_houses.describe()
Também é possível retirar os números dos índices e os nomes das colunas
# Retira as colunas
california_houses.columns

# Números dos índices
california_houses.index

Nesse post realizamos uma breve introdução aos pandas, há ainda uma série de outras possibilidades de manipulação e cálculos que podemos realizar, tais como filtragens mais avançadas dos DataFrames, agregação e junção com condições, além de aprender métodos para preparar um Dataframe para visualização e modelagem.

Como analogia, podemos dizer que a biblioteca pandas pode ser considerada como um canivete suíço, com uma variedade de ferramentas, ficando a cargo do usuário qual utilizar, podendo em muitas vezes ser vasto o tempo necessário de aprendizagem. Apesar disso, os cursos da Análise Macro facilitam este problema, com uma série de aulas teóricas e práticas com o Python, facilitando a vida de quem quer aprender mais sobre Análise de Dados.

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais
e conteúdos exclusivos sobre Análise de Dados!

Assinar Gratuitamente