Parte 02 - Google Colab

Walter R P Cortes - Oct 25 - - Dev Community

Olá Devs!

Hoje iremos conhecer o Google Colab, e entender como utiliza-lo em nossas tarefas de Análise e Visualização de Dados.

Vamos lá?

O que é o Google Colab?

O Google Colab é uma plataforma de computação em nuvem gratuita baseada no Jupyter Notebook. Ele permite que os usuários criem e compartilhem documentos que contenham código executável, equações, visualizações e texto explicativo. O Google Colab oferece suporte a várias linguagens de programação populares, incluindo Python, JavaScript e Swift.

Isto significa que podemos intercalar blocos de texto, imagens e código em um mesmo documento. Como um Cientista de Dados, você vai utilizar muito este recurso tanto nos momentos em que você está trabalhando os dados e construindo o modelo quanto naquele momento em que você precisa comunicar seus achados e resultados para outros cientistas e para o seu público alvo.

Como acessamos o Google Colab?

Para acessar o Google Colab, você precisa se conectar com uma conta do Google e acessar o site colab.research.google.com. Você verá então, a seguinte tela:

Tela Inicial do Colab

Como você pode ver, a primeira atividade que ele sugere é abrir exemplos ou, no meu caso, alguns arquivos mais recentes. O Colab é integrado com o Google Drive, então seus arquivos, que terão sempre a extensão .ipynb estarão sempre salvos lá no seu Drive, em uma pasta específica.

Iniciando um novo notebook!

Vamos iniciar? Clique no link “new notebook”. Você deve ver sua tela assim:

Novo Notebook

Neste momento, vamos destacar três áreas da tela:

  1. Onde fica o nome do notebook. Você pode modificar quando quiser
  2. Sistema de arquivos do notebook. Quando iniciamos um novo notebook, temos um sistema de arquivos virtual, onde podemos subir arquivos que serão utilizados durante a execução do código. Esses arquivos são apagados quando o notebook não está ativo.
  3. Esta é uma célula. Um notebook é feito de um conjunto de células que são executadas sequencialmente. As células podem ser de dois tipos: células de código ou células de texto. A célula que estamos marcando é especificamente uma célula de código, pois tem o botão de execução bem a esquerda.

Células de Texto

As células de texto nos permitem escrever texto no formato Markdown, que facilita bastante a formatação. Se quiser aprender mais sobre Markdown, clique aqui. Veja alguns exemplos:

Exemplos de célula de texto

Células de Código

Células de código, como o próprio nome diz, servem para escrever código que será executado. Podemos usar algumas linguagens, sendo que a mais comum é Python. Cada célula, ao ser executada, pode imprimir o resultado de sua execução logo abaixo. Veja um exemplo abaixo:

import pandas as pd
import json
import requests

response = requests.get("https://dummyjson.com/products")
json.dump(json.loads(response.text)['products'], open('products.json','w'))
raw_data = open('products.json','r')
# .load("https://dummyjson.com/products")
df = pd.read_json(raw_data)

df
id title description price discountPercentage rating stock brand category thumbnail images
0 1 iPhone 9 An apple mobile which is nothing like apple 549 12.96 4.69 94 Apple smartphones https://i.dummyjson.com/data/products/1/thumbn... [https://i.dummyjson.com/data/products/1/1.jpg...
1 2 iPhone X SIM-Free, Model A19211 6.5-inch Super Retina H... 899 17.94 4.44 34 Apple smartphones https://i.dummyjson.com/data/products/2/thumbn... [https://i.dummyjson.com/data/products/2/1.jpg...
2 3 Samsung Universe 9 Samsung's new variant which goes beyond Galaxy... 1249 15.46 4.09 36 Samsung smartphones https://i.dummyjson.com/data/products/3/thumbn... [https://i.dummyjson.com/data/products/3/1.jpg]
3 4 OPPOF19 OPPO F19 is officially announced on April 2021. 280 17.91 4.30 123 OPPO smartphones https://i.dummyjson.com/data/products/4/thumbn... [https://i.dummyjson.com/data/products/4/1.jpg...
4 5 Huawei P30 Huawei’s re-badged P30 Pro New Edition was off... 499 10.58 4.09 32 Huawei smartphones https://i.dummyjson.com/data/products/5/thumbn... [https://i.dummyjson.com/data/products/5/1.jpg...
5 6 MacBook Pro MacBook Pro 2021 with mini-LED display may lau... 1749 11.02 4.57 83 Apple laptops https://i.dummyjson.com/data/products/6/thumbn... [https://i.dummyjson.com/data/products/6/1.png...
6 7 Samsung Galaxy Book Samsung Galaxy Book S (2020) Laptop With Intel... 1499 4.15 4.25 50 Samsung laptops https://i.dummyjson.com/data/products/7/thumbn... [https://i.dummyjson.com/data/products/7/1.jpg...
7 8 Microsoft Surface Laptop 4 Style and speed. Stand out on HD video calls b... 1499 10.23 4.43 68 Microsoft Surface laptops https://i.dummyjson.com/data/products/8/thumbn... [https://i.dummyjson.com/data/products/8/1.jpg...
8 9 Infinix INBOOK Infinix Inbook X1 Ci3 10th 8GB 256GB 14 Win10 ... 1099 11.83 4.54 96 Infinix laptops https://i.dummyjson.com/data/products/9/thumbn... [https://i.dummyjson.com/data/products/9/1.jpg...
9 10 HP Pavilion 15-DK1056WM HP Pavilion 15-DK1056WM Gaming Laptop 10th Gen... 1099 6.18 4.43 89 HP Pavilion laptops https://i.dummyjson.com/data/products/10/thumb... [https://i.dummyjson.com/data/products/10/1.jp...
10 11 perfume Oil Mega Discount, Impression of Acqua Di Gio by G... 13 8.40 4.26 65 Impression of Acqua Di Gio fragrances https://i.dummyjson.com/data/products/11/thumb... [https://i.dummyjson.com/data/products/11/1.jp...
11 12 Brown Perfume Royal_Mirage Sport Brown Perfume for Men & Wom... 40 15.66 4.00 52 Royal_Mirage fragrances https://i.dummyjson.com/data/products/12/thumb... [https://i.dummyjson.com/data/products/12/1.jp...
12 13 Fog Scent Xpressio Perfume Product details of Best Fog Scent Xpressio Per... 13 8.14 4.59 61 Fog Scent Xpressio fragrances https://i.dummyjson.com/data/products/13/thumb... [https://i.dummyjson.com/data/products/13/1.jp...
13 14 Non-Alcoholic Concentrated Perfume Oil Original Al Munakh® by Mahal Al Musk | Our Imp... 120 15.60 4.21 114 Al Munakh fragrances https://i.dummyjson.com/data/products/14/thumb... [https://i.dummyjson.com/data/products/14/1.jp...
14 15 Eau De Perfume Spray Genuine Al-Rehab spray perfume from UAE/Saudi... 30 10.99 4.70 105 Lord - Al-Rehab fragrances https://i.dummyjson.com/data/products/15/thumb... [https://i.dummyjson.com/data/products/15/1.jp...
15 16 Hyaluronic Acid Serum L'Oréal Paris introduces Hyaluron Expert Repl... 19 13.31 4.83 110 L'Oreal Paris skincare https://i.dummyjson.com/data/products/16/thumb... [https://i.dummyjson.com/data/products/16/1.pn...
16 17 Tree Oil 30ml Tea tree oil contains a number of compounds, i... 12 4.09 4.52 78 Hemani Tea skincare https://i.dummyjson.com/data/products/17/thumb... [https://i.dummyjson.com/data/products/17/1.jp...
17 18 Oil Free Moisturizer 100ml Dermive Oil Free Moisturizer with SPF 20 is sp... 40 13.10 4.56 88 Dermive skincare https://i.dummyjson.com/data/products/18/thumb... [https://i.dummyjson.com/data/products/18/1.jp...
18 19 Skin Beauty Serum. Product name: rorec collagen hyaluronic acid w... 46 10.68 4.42 54 ROREC White Rice skincare https://i.dummyjson.com/data/products/19/thumb... [https://i.dummyjson.com/data/products/19/1.jp...
19 20 Freckle Treatment Cream- 15gm Fair & Clear is Pakistan's only pure Freckle c... 70 16.99 4.06 140 Fair & Clear skincare https://i.dummyjson.com/data/products/20/thumb... [https://i.dummyjson.com/data/products/20/1.jp...
20 21 - Daal Masoor 500 grams Fine quality Branded Product Keep in a cool an... 20 4.81 4.44 133 Saaf & Khaas groceries https://i.dummyjson.com/data/products/21/thumb... [https://i.dummyjson.com/data/products/21/1.pn...
21 22 Elbow Macaroni - 400 gm Product details of Bake Parlor Big Elbow Macar... 14 15.58 4.57 146 Bake Parlor Big groceries https://i.dummyjson.com/data/products/22/thumb... [https://i.dummyjson.com/data/products/22/1.jp...
22 23 Orange Essence Food Flavou Specifications of Orange Essence Food Flavour ... 14 8.04 4.85 26 Baking Food Items groceries https://i.dummyjson.com/data/products/23/thumb... [https://i.dummyjson.com/data/products/23/1.jp...
23 24 cereals muesli fruit nuts original fauji cereal muesli 250gm box pack or... 46 16.80 4.94 113 fauji groceries https://i.dummyjson.com/data/products/24/thumb... [https://i.dummyjson.com/data/products/24/1.jp...
24 25 Gulab Powder 50 Gram Dry Rose Flower Powder Gulab Powder 50 Gram • ... 70 13.58 4.87 47 Dry Rose groceries https://i.dummyjson.com/data/products/25/thumb... [https://i.dummyjson.com/data/products/25/1.pn...
25 26 Plant Hanger For Home Boho Decor Plant Hanger For Home Wall Decorati... 41 17.86 4.08 131 Boho Decor home-decoration https://i.dummyjson.com/data/products/26/thumb... [https://i.dummyjson.com/data/products/26/1.jp...
26 27 Flying Wooden Bird Package Include 6 Birds with Adhesive Tape Sha... 51 15.58 4.41 17 Flying Wooden home-decoration https://i.dummyjson.com/data/products/27/thumb... [https://i.dummyjson.com/data/products/27/1.jp...
27 28 3D Embellishment Art Lamp 3D led lamp sticker Wall sticker 3d wall art l... 20 16.49 4.82 54 LED Lights home-decoration https://i.dummyjson.com/data/products/28/thumb... [https://i.dummyjson.com/data/products/28/1.jp...
28 29 Handcraft Chinese style Handcraft Chinese style art luxury palace hote... 60 15.34 4.44 7 luxury palace home-decoration https://i.dummyjson.com/data/products/29/thumb... [https://i.dummyjson.com/data/products/29/1.jp...
29 30 Key Holder Attractive DesignMetallic materialFour key hoo... 30 2.92 4.92 54 Golden home-decoration https://i.dummyjson.com/data/products/30/thumb... [https://i.dummyjson.com/data/products/30/1.jp...

Esta célula, se executada, irá carregar dados de um site, salvar um arquivo e carrega-lo em um DataFrame que depois será impresso na área de resultados.

Utilizando um notebook

Os exemplos acima são bons para mostrar cada parte separadamente, mas vamos a um exemplo que irá ilustrar a utilização típica destes blocos.

Exemplo

Digamos que você precisa entregar um relatório para o seu chefe sobre quais são os primeiros 1000 números primos. Ele também solicita que você explique o que são números primos e como descobrir se um número é primo ou não.

Em um cenário tradicional de programação, provavelmente se faria a entrega de pelo menos dois arquivos: um documento do word, por exemplo, com a parte descritiva e um arquivo de código-fonte com o código. Como o arquivo de código-fonte não guarda o resultado da execução, é muito provável que este resultado fosse adicionado ao documento do word, ou quem sabe, disponibilizado em um terceiro arquivo.

Dá um certo trabalho preparar tudo… Além precisar de um computador com Word e com um editor de código-fonte para fazer todo o relatório. Mas com o Google Colab, você pode fazer tudo em um único lugar: um notebook pode ser editado de qualquer lugar, através do browser!

Veja o resultado abaixo:

Notebook completo

É bem interessante, não é mesmo? Tudo em um único documento, que eu posso compartilhar com outras pessoas, sem nenhuma complicação. E o melhor, quem abre este notebook, pode executar as partes que são código, quando bem quiserem, sem depender de você para atualizar os resultados.

Finalizando

Espero que você tenha gostado de aprender um pouco sobre o ambiente de desenvolvimento que iremos utilizar neste curso. Ao longo do curso, utilizaremos recursos mais avançados, então não perca a oportunidade de aprender mais sobre o Google Colab com estes links abaixo:

Note

Os artigos citado acima e o conteúdo apresentado neste artigo não são de maneira nenhuma uma revisão extensiva do Google Colab, apresentamos apenas o necessário para você andar com seus próprios pés e no seu ritmo!

Um abraço, e até a próxima!

Walter.

. . . . . . . . . . . . . .
Terabox Video Player