Inserindo Figuras no Jupyter Notebook

O Jupyter Notebook para Python tem a vantagem de deixar o seu código já num formato como se fosse um relatório, mantendo todo o histórico das suas análises. Imagine que além disso, você queira também incluir imagens de fora do seu código, como um arquivo jpg, por exemplo. Será que é possível fazer isso? Claro que sim! Continuar a ler “Inserindo Figuras no Jupyter Notebook”

Como converter de string para número no SQL

Novamente, as formatações atrapalhando nossa vida. Quem nunca recebeu uma base em que o campo estava mal formatado, muitas das vezes o número apareceu no formato texto. No SQL é fácil de resolver isso, use a função CAST(): Continuar a ler “Como converter de string para número no SQL”

Quer ver um cientista de dados trabalhando ao vivo?

Claro que não, ninguém quer. Mas cola na live mesmo assim, rola uns códigos legais, você vai aprender Python, R, Machine Learning e coisas do tipo. Tudo isso ao som de uns traps maneiros. É só clicar no link abaixo e se inscrever que você vai saber quando rola as lives. Eu também costumo anunciar no Twitter do Estatsite, o @EstatSite: Continuar a ler “Quer ver um cientista de dados trabalhando ao vivo?”

Python, R ou SAS? Meus 2 centavos sobre esse debate!

Eu não costumo dar muitos pitacos sobre a discussão R ou Python. Na verdade, tem vezes que falo, mas é sempre falando que não importa. Recentemente, solicitaram minha resposta no Quora e resolvi atender ao pedido. Segue minha resposta. Continuar a ler “Python, R ou SAS? Meus 2 centavos sobre esse debate!”

Mulheres de Ciência de Dados para Seguir

Aproveitando o dia, vou deixar uma singela recomendação de algumas mulheres de #DATA incríveis que vocês deveriam acompanhar o trabalho. Busquem na rede social de preferência (eu sei que no Twitter e Linkedin elas estão todas): Continuar a ler “Mulheres de Ciência de Dados para Seguir”

Group By no SQL

Imagine que você tenha a informação de renda dos clientes das suas lojas ao redor do Brasil. Seria interessante saber qual a renda média da sua base de clientes, claro. Mas talvez fosse mais interessante ainda saber a renda média de clientes por estado. Para fazer isso, sumarização da informação por um determinado grupo, você precisa conhecer o famoso GROUP BY. O Group By serve para fazer exatamente o que o nome diz: “agrupar por” algum campo. Imagine que você tenha uma coluna com valores de alguma variável. Você quer agrupar essa variável de alguma forma, seja fazendo uma soma ou calculando a média. Porém, você tem a necessidade de agrupar por alguma outra variável. É aí que entra o group by. Vamos ver um exemplo para facilitar. Primeiro, criamos uma tabela para trabalharmos o exemplo. Vamos criar uma tabela já bastante manjada por quem acompanha o site, as compras que os clientes fizeram em uma determinada loja:

-- exclui tabela caso ela exista
drop table base_compras;

-- cria os campos da tabela
CREATE TABLE base_compras (
Id int,
Nome varchar(50),
Sobrenome varchar(50),
Estado varchar(2),
Gastos decimal,
Data_Compra date
);

-- insere valores na tabela 
INSERT INTO base_compras
VALUES
(152, 'Andre', 'Silva', 'MG', 351.50, '2018-01-22'),
(222, 'Barbara', 'Toledo', 'SP', 250.10, '2018-05-15'),
(451, 'Carlos', 'Pinheiro', 'MG', 455.00, '2017-02-05'),
(754, 'Eduardo', 'Silva', 'SP', 390.10, '2018-04-10'),
(897, 'Juliana', 'Oliveira', 'MG', 150.50, '2017-03-01'),
(852, 'Maria', 'Lima', 'MG', 325.90, '2018-05-30'),
(997, 'Ricardo', 'Pereira', 'MG', 332.59, '2018-05-25'),
(535, 'Vanessa', 'Costa', 'SP', 241.57, '2017-04-30');

-- visualiza tabela

select * from base_compras;
Primeiro, eu coloco um drop table no início do código, pois sempre que ele for rodar, ele exclui a tabela antiga que possui o nome base_compras. No SQL, se você tentar criar uma tabela e já existir outra com mesmo nome, ele retorna um erro. Por esse motivo, eu costumo adicionar um drop table antes de um create table
Agora que temos a base, vamos tentar resumir as informações por estado. Vamos obter a média e a soma dos gastos por cada estado:
-- sumariza os gastos por Estado
select estado, 
sum(gastos) as gasto_total,
avg(gastos) as media_gastos
from base_compras
group by 1
order by 1;
Note que a lógica é bem simples. Primeiro, selecionamos o que queremos: o estado (que será o objeto pelo qual as outras informações serão agrupadas), a soma de gastos (que denominamos “gasto_total”) e a média dos gastos (denominada media_gastos). Por fim, agrupamos e ordenamos pelo primeiro item selecionado: o estado. Poderíamos fazer a mesma coisa, mas utilizando o nome do campo:
 
-- sumariza os gastos por Estado
select estado, 
sum(gastos) as gasto_total,
avg(gastos) as media_gastos
from base_compras
group by estado
order by estado;
Você poderia ordenar por mais campos também. Vamos ver um exemplo um pouquinho mais complexo (mas bem pouco).

Como estou trabalhando no SQLite, não consigo utilizar as funções mais simples para lidar com data, como por exemplo year(), month(), day(). Por isso, apenas para que vocês entendam como funciona, vou demonstrar o que faz a função strftime():

select strftime('%Y', Data_Compra) from base_compras

Veja que ela extrai a informação de ano da variável Data_Compra. Eu fiz isso porque agora nós vamos obter a média e a soma dos gastos agrupados por Estado e por Ano. Ou seja, veremos a média dos gastos dos clientes de MG no ano de 2017 e a média no ano de 2018. O mesmo para SP.

select estado, 
            strftime("%Y", Data_Compra) as Ano,
            sum(gastos) as gasto_total,
            avg(gastos) as media_gastos
from base_compras
group by 1,2
order by 1,2;

Viu que simples? Agora você pode fazer resumos dos seus dados de uma forma bem mais completa.

Gostou do post? Veja mais de SQL em Programação em SQL. Além disso, se restou alguma dúvida, ou se você tem alguma crítica, comentário ou sugestão, entre em contato deixando um comentário ou escrevendo através do contato deixado em Sobre o Estatsite / Contato.

Caso tenha interesse em obter mais conteúdos de Data Science, você pode acompanhar o @EstatSite

Como Big Data Explica Freud?

Freud é um nome muito conhecido. Mais comum para filósofos e psicólogos, ele aparece constantemente em papos não-acadêmicos. Mesmo conhecido por todos, explicar suas ideias é algo mais complicado. Suas teorias sempre foram muito intrigantes, capazes de gerar muitas dúvidas e ceticismo. Costumeiramente, mexe com algo mais profundo e, por vezes, intangível. Tanto é que subconsciência é uma palavra que aparece quase sempre que se fala de suas principais teorias. Bem, mas se suas ideias são baseadas em coisas que não estão na nossa consciência, cabe a nós aceitá-las e ponto final. Não tem como provar que elas são falsas ou verdadeiras, certo? Ou será que tem? Continuar a ler “Como Big Data Explica Freud?”

Memes que Somente Cientistas de Dados Riem

Bom, como ninguém é de ferro, vez ou outra compartilho uns memes bestas no Twitter do EstatSite (@EstatSite). E por que deixar quem acompanha o blog de fora dessa né? Afinal, vocês também podem querer zoar quem usa Excel ao invés do R, quem usa correlação ao invés de modelos que melhor inferem causalidade (como IVs, RDD e Diff-in-Diff), ou quem sabe zoar os usuários de gráficos de pizza, por que não? Continuar a ler “Memes que Somente Cientistas de Dados Riem”