Olá! Meu nome é Valquíria, sou instrutora na escola de Data Science.
Autodescrição: Valquíria é uma mulher branca com olhos castanhos, cabelos lisos e louros, numa altura abaixo dos ombros. Veste uma blusa preta e está sentada em uma cadeira gamer com detalhes verdes. Ao fundo há uma luz esverdeada.
Neste curso aprenderemos a importar e exportar em diferentes formatos de arquivos utilizando a biblioteca Pandas.
Neste curso não vamos analisar os dados.
A habilidade de trabalhar com diferentes formatos de arquivos é essencial para quem trabalha na área de dados. Em cada uma das aulas trabalharemos com diferentes formatos de arquivos, para isso usaremos conjuntos de dados e temas distintos para cada aula.
Para aproveitar todo o conteúdo, recomendamos que você tenha conhecimentos básicos em Python.
E aí, bora começar?
Temos um supermercado que está planejando uma liquidação de fim de ano, eles querem oferecer uma assinatura que dá 20% de desconto em todas as compras.
E o time de marketing desse supermercado entende que a melhor maneira de diminuir custos com essa campanha é analisar os dados de compras dos clientes e entender quais teriam mais chances de aderir a essa assinatura e oferecer diretamente a essas pessoas.
Nós temos os dados dessas pessoas lá no GitHub vamos dar uma conferida?
O nome do arquivo é superstore_data.csv
. Esse .csv
é o formato do nosso arquivo, em breve entenderemos o que é isso.
A tabela é formada por uma primeira linha que é como se fosse um cabeçalho contendo os títulos de cada uma das colunas e, em seguida, temos uma linha para cada cliente.
No canto direito dessa página do GitHub temos um botão intitulado "Raw". Ao clicarmos em "Raw" conseguiremos ver como esses dados estão estruturados de fato, sem nenhuma formatação prévia, são os "dados brutos".
Note que temos valores, tanto palavras quanto números, separados por vírgulas.
Quando temos um arquivo separado por vírgulas, temos um arquivo .csv
, que em inglês significa "comma-separated values" (valores separados por vírgula).
Vamos para o Google Colab para saber como ler esse arquivo com a biblioteca Pandas.
Acessaremos o Google Colab e nosso ambiente já está conectado, já temos uma célula disponível. O primeiro passo é importar a biblioteca Pandas. Para isso, usaremos o seguinte comando:
import pandas as pd
Para facilitar a escrita, costumamos apelidar as bibliotecas. Por isso abreviamos Pandas para pd
.
Para executar a célula podemos clicar na seta localizada à esquerda ou usar o atalho "Shift + Enter". Vamos executar.
Em seguida, vamos criar uma variável chamada url
com o endereço de onde estão os dados brutos do nosso arquivo. Podemos colocar o endereço da URL em que os dados brutos estão dentro aspas simples ou aspas duplas, tanto faz. Aqui vou usar aspas simples. Vamos executar esta célula:
url = 'https://raw.githubusercontent.com/alura-cursos/Pandas/main/superstore_data.csv'
Em seguida, faremos a leitura desse arquivo. Para isso, criaremos uma variável chamada dados_mercado
que será igual a pd.read_csv
. A read_csv
é a função que consegue fazer a leitura de um arquivo .csv
.
Vamos abrir parênteses e, dentro deles, passaremos a variável na qual armazenamos o endereço URL dos dados brutos.
dados_mercado = pd.read_csv(url)
A função read_csv
vai pegar esse endereço que passamos e ler esses dados em um objeto Pandas chamado DataFrame. Ele é muito parecido com uma tabela, vamos visualizar isso agora.
Para visualizar esse DataFrame executaremos o comando:
dados_mercado.head()
A função read()
permite a visualização das 5 primeiras linhas desse DataFrame.
Ao executar a célula do comando dados_mercado.head()
teremos algo semelhante a uma tabela contendo os nossos dados. Temos 5 linhas e 22 colunas.
Id | Year_Birth | Education | Marital_Status | Income | Kidhome | Teenhome | Dt_Customer | Recency | MntWines | MntFruits | MntMeatProducts | MntFishProducts | ... | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1826 | 1970 | Graduation | Divorced | 84835 | 0 | 0 | 6/16/2014 | 0 | 189 | 104 | 379 | 111 | ... |
1 | 1 | 1961 | Graduation | Single | 57091 | 0 | 0 | 6/15/2014 | 0 | 464 | 5 | 64 | 7 | ... |
2 | 10476 | 1958 | Graduation | Married | 67267 | 0 | 1 | 5/13/2014 | 0 | 134 | 11 | 59 | 15 | ... |
3 | 1386 | 1967 | Graduation | Together | 32474 | 1 | 1 | 11/5/2014 | 0 | 10 | 0 | 1 | 0 | ... |
4 | 5371 | 1989 | Graduation | Single | 21474 | 1 | 0 | 8/4/2014 | 0 | 6 | 16 | 24 | 11 | ... |
Quais informações nós temos? O Id de cada cliente, que é um código diferente para cada uma das pessoas; o ano de nascimento; nível de escolaridade; estado civil; rendimento anual; e várias colunas com informações sobre as compras que essas pessoas fizeram no mercado. Temos bastante informação.
Beleza! Conseguimos abrir esse arquivo .csv
utilizando a biblioteca Pandas no Google Colab, mas tem um detalhe: os arquivos .csv
nem sempre são separados por vírgulas. Às vezes eles podem estar separados por ponto e vírgula (;
).
O que acontece nesse caso? Como podemos fazer a leitura?
Para entendermos isso, preparei um arquivo igual ao que usamos nesse vídeo, mas agora ele está separado por ponto e vírgula. É um arquivo chamado superstore_data_ponto_virgula.csv
.
Acesse o arquivo superstore_data_ponto_virgula.csv neste link.
Se clicarmos no botão "Raw" teremos os dados brutos desse arquivo. Agora vamos entender o que acontece se fizermos a leitura desses dados com o Pandas. Vamos copiar o endereço URL dos dados brutos de superstore_data_ponto_virgula.csv
e executaremos o seguinte comando para criar uma nova variável que conterá esse endereço:
url_2 = 'https://raw.githubusercontent.com/alura-cursos/Pandas/main/superstore_data_ponto_virgula.csv'
Em seguida, criaremos uma nova variável chamada dados_ponto_virgula
que será igual a pd.read_csv()
passando a url_2
.
dados_ponto_virgula = pd.read_csv(url_2)
Agora, vamos visualizar as 5 primeiras linhas desse arquivo com a função head()
.
dados_ponto_virgula.head()
Ao executar essa célula, aconteceu alguma coisa muito estranha. Note que não temos separação de colunas. Temos as linhas e as informações estão todas juntas, sem espaço. Muito diferente de como visualizamos antes.
O que aconteceu? Como podemos corrigir isso para quando quisermos ler um arquivo .csv separado por ponto e vírgula?
Vamos descobrir isso no próximo vídeo, com a ajuda da documentação da biblioteca Pandas.
Nós tentamos ler um arquivo CSV separado por ponto e vírgula e o resultado ficou muito esquisito, as informações apareceram bagunçadas. Vamos resolver isso agora, com a ajuda da documentação da biblioteca Pandas.
Na documentação ,consultaremos a parte que fala sobre a função read_csv()
. Existem vários parâmetros que podem ser alterados quando queremso fazer a leitura de um CSV.
Recomendo que você leia essa documentação e explore cada parâmetro. Aqui vamos direto ao ponto, que é o parâmetro sep
. Esse parâmetro é o que mostra qual será o separador do arquivo CSV. A documentação indica que o default, o padrão dele, é a separação por vírgulas. Então, basta alterarmos esse parâmetro.
De volta ao Colab, vamos adicionar uma nova célula de código e criaremos uma variável chamada dados_sem_vírgula
que será igual a pd.read_csv(url_2)
. Em seguida, adicionaremos o parâmetro sep
igual a pornto e vírgula. Assim ele vai entender que o separador é ponto e vírgula. Vamos executar esta célula:
dados_ponto_virgula = pd.read_csv(url_2, sep = ';')
Já podemos tentar visualizar as cinco primeiras linhas da tabela.
dados_ponto_virgula.head()
Agora, dados apareceram corretamente no DataFrame. Então, é importante verificar qual é o separador do seu arquivo CSV e indicar no parâmetro sep
caso não seja uma separação por vírgula.
Além desse parâmetro temos vários outros que podem ser explorados. Vamos falar sobre alguns deles.
nrows
Começarei com um parâmetro que é interessante se você quiser visualizar apenas algumas linhas do seu DataFrame é bom para quando temos um DataFrame muito grande e queremos apenas ter uma visualização geral do conteúdo.
Criaremos uma variável chamada dados_primeiras_linhas
e dentro do pd.read_csv()
passaremos a variável url e o parâmetro nrows
igual à quantidade de linha que quero que sejam monstrada, vou colocar apenas 5.
dados_primeiras_linhas = pd.read_csv(url,nrows=5)
Após executar essa célula, podemos visualizar as cinco linhas que pedimos executando a seguinte célula:
dados_primeiras_linhas
usecols
Outro parâmetro que também podemos testar agora é um parâmetro que consegue mostrar apenas algumas colunas.
Por exemplo, vamos supor que queremos visualizar os clientes apenas pelo seu id, ano de nascimento e seu rendimento anual.
Para isso, criaremos uma variável chamada dados_selecao
igual a pd.read_csv()
passando url
e usecols, sinal de igual, e dentor de colchetes vamos informar quais colunas queremos visualizar. Vamos querer as colunas Id
, ano de nascimento (Year_Birth
) e a coluna do rendimento anual (Income
).
dados_selecao = pd.read_csv(url, usecols=['Id', 'Year_Birth', 'Income'])
Após executar essa célula, podemos chamar dados_selecao
.
dados_selecao
Id | Year_Birth | Income | |
---|---|---|---|
0 | 1826 | 1970 | 84835.0 |
1 | 1 | 1961 | 57091.0 |
2 | 10476 | 1958 | 67267.0 |
3 | 1386 | 1967 | 32474.0 |
4 | 5371 | 1989 | 21474.0 |
Outra dica é que essas colunas que selecionamos podem ser indicadas pela posição ao invés do nome. Lembre-se que em Python começamos a indexar em zero, então as posições começam a partir do zero.
Na tabela original, a coluna do Id
seria a coluna 0; a coluna Year_Birth
é a coluna 1 e a Income
é a coluna 4. Usaremos o mesmo código, mas com os valores no lugar nos nomes das colunas.
dados_selecao = pd.read_csv(url, usecols=[0,1,4])
Teremos o mesmo resultado ao chamar a variável.
dados_selecao
Id | Year_Birth | Income | |
---|---|---|---|
0 | 1826 | 1970 | 84835.0 |
1 | 1 | 1961 | 57091.0 |
2 | 10476 | 1958 | 67267.0 |
3 | 1386 | 1967 | 32474.0 |
4 | 5371 | 1989 | 21474.0 |
Além disso, é possível salvar um arquivo no formato CSV, no próximo vídeo descobriremos como fazer isso.
O curso Pandas I/O: trabalhando com diferentes formatos de arquivos possui 109 minutos de vídeos, em um total de 54 atividades. Gostou? Conheça nossos outros cursos de Data Science em Data Science, ou leia nossos artigos de Data Science.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.
Acesso completo
durante 1 ano
Estude 24h/dia
onde e quando quiser
Novos cursos
todas as semanas