Voltar ao blog

Usando notebooks do Python (ipynb)

Publicado em · 8 min de leitura

  • Marcos Eduardo

É notório que Python se tornou uma linguagem de programação amplamente utilizada na área de dados. A sua popularidade se deve a vários fatores, dentre eles, a sua sintaxe simples, a sua grande comunidade de usuários e o seu grande repertório de bibliotecas especializadas para análise e ciência de dados.

Para a sua utilização em projetos, é muito comum adotarmos uma ferramenta interativa chamada Jupyter Notebook. O nome te parece estranho? Você já ouviu falar, mas nunca entendeu realmente o que é? Ou você já até o utilizou, mas não se sente com tanta segurança explorando as suas ferramentas? Então este artigo poderá te ajudar com essas dúvidas. Vamos lá!

O que é um notebook?

Um notebook é uma evolução do conceito de um caderno comum, em que se pode escrever uma história em partes, seguindo um fluxo lógico que vai desde a introdução até a conclusão. Nos projetos de ciência de dados, contudo, a história a ser contada é a da solução de um problema de negócios, para isso, precisamos descrever os objetivos, as possíveis soluções para o problema e as conclusões às quais chegamos após examinar os dados.

O notebook nos permite criar blocos de texto e blocos de código, chamados de células, que organizam e estruturam nossa história de forma clara e objetiva.

Ao utilizar os blocos de texto em nosso notebook, podemos fornecer uma explicação completa do contexto do projeto, de seus objetivos, informações importantes extraídas dos dados e as possíveis soluções para o problema que estamos tentando resolver. Para a formatação do texto, utilizamos uma linguagem simples de Markdown, que ajuda a estruturar o conteúdo de forma clara e organizada.

Nele, também temos a possibilidade de explorar um conjunto de dados, de realizar o tratamento e a limpeza dos dados e de criar gráficos e outras visualizações. Os resultados gerados pelos blocos de código são exibidos logo abaixo de suas respectivas células, permitindo a visualização dos resultados de forma imediata. Além disso, não é necessário executar todo o código sempre, já que o processo fica armazenado na memória e as células podem funcionar de forma independente, o que torna o processo mais eficiente e fácil de gerenciar.

O que é Jupyter Notebook?

O nome Jupyter é um acrônimo criado a partir das linguagens de programação que foram inicialmente aceitas pelo projeto: Julia, Python e R. Atualmente, o Jupyter suporta várias outras linguagens de programação, como C++, Ruby e Fortran. Ele é uma ferramenta muito útil para quem deseja executar código de forma interativa, o que o torna ideal para tarefas como o processamento exploratório de dados, simulações numéricas, modelagens estatísticas e até mesmo machine learning. Graças à sua versatilidade e flexibilidade, o Jupyter é uma das ferramentas mais populares entre cientistas de dados e desenvolvedores.

Instalação

Há duas maneiras principais de instalar o Jupyter Notebook para Python: por meio do gerenciador de pacotes pip ou por meio da distribuição Anaconda. A instalação do Jupyter Notebook usando o pip segue o mesmo processo que a instalação de outras bibliotecas e módulos do Python, basta digitar o seguinte comando e pressionar Enter:

pip install jupyter

No caso da Anaconda, a instalação padrão já inclui o Jupyter Notebook. Para realizar a instalação dessa forma, basta ir até o site oficial e seguir as instruções da página de download para o seu sistema operacional.

Abrindo o Jupyter

  • Se você instalou o Jupyter Notebook via pip, para abri-lo, basta entrar em um terminal e digitar o comando “jupyter notebook”. Em seguida, o Jupyter Notebook será aberto em seu navegador padrão automaticamente.
  • Por outro lado, se você instalou o Jupyter Notebook usando o Anaconda, você pode encontrá-lo facilmente usando a barra de pesquisa do Windows ou Linux. Basta abrir o menu Iniciar, procurar por “Jupyter Notebook” e clicar no ícone. Isso abrirá o Jupyter Notebook em seu navegador padrão.

Feito isso, será aberta a página inicial do Jupyter.

Assim que o Jupyter Notebook abre, a primeira tela que aparece é a página inicial, que é dividida em três abas: “Files”, “Running” e “Clusters”.

A aba “Files” é a primeira aba exibida ao abrir o Jupyter Notebook, ela exibe o diretório de trabalho atual e permite navegar pelos arquivos e pastas do sistema de arquivos. A partir daqui, é possível criar novos notebooks, abrir notebooks existentes, criar novos diretórios, renomear e excluir arquivos e pastas. A aba “Files” também fornece uma interface para upload e download de arquivos.

A aba “Running”, por sua vez, exibe uma lista dos notebooks atualmente em execução no servidor Jupyter, bem como quaisquer terminais ou kernels associados a eles. Essa aba é especialmente útil para gerenciar o uso do servidor Jupyter, pois permite que o usuário interrompa ou reinicie a execução de notebooks ou kernels, bem como visualize o uso de recursos do sistema.

Já a aba “Clusters” permite que o usuário configure e gerencie clusters de computação para executar cálculos de grande escala em paralelo. Isso é especialmente útil para tarefas que exigem muita computação e que podem ser divididas em várias tarefas menores, cada uma executada em um núcleo de processamento separado.

Abrindo ou editando um notebook

Criar um Jupyter Notebook é bem simples, basta clicar no botão “New” no canto direito e selecionar Python 3 (se você tiver outros kernels instalados, como o Python 2 ou o R, por exemplo, você também poderá escolhê-los).

O notebook será criado e aberto em uma nova aba.

Pronto! Agora você pode começar a digitar o código em uma célula, adicionar texto explicativo ou criar visualizações. Para executar o código, basta pressionar “Shift + Enter” ou clicar no botão “Run” na barra de ferramentas.

Dicas de uso

Modos das células

O Jupyter Notebook possui dois modos diferentes para a célula: o modo de edição e o modo de comando. Quando a célula está no modo de edição, o usuário pode editar o conteúdo da célula, seja ele um código ou um texto formatado em Markdown, por exemplo. Por outro lado, no modo de comando, o usuário pode manipular a célula, executar o código, compilar o texto Markdown, deletar a célula, copiar e recortar células, criar novas células, alterar o tipo de célula, fundir duas ou mais células e outras ações disponíveis na barra de ferramentas. Esses dois modos permitem que o usuário possa trabalhar de maneira eficiente e flexível no Jupyter Notebook.

É importante notar que, quando uma célula está no modo de edição, a borda é destacada com uma cor verde.

Já um célula em modo comando, a borda é destacada com uma cor azul.

Atalhos do teclado

O Jupyter Notebook possui vários atalhos de teclado que podem ajudar o usuário a trabalhar de maneira mais eficiente e rápida.

Os atalhos a seguir estão implementados por default para a célula no modo comando:

  • Ctrl-Enter: executa a célula atual sem selecionar a próxima célula;
  • Shift-Enter: executa a célula atual e seleciona a próxima célula (ou cria uma nova célula, se a célula atual for a última);
  • Alt-Enter: executa a célula e cria uma nova célula abaixo no modo de edição;
  • Y: muda a célula para o tipo código;
  • M: muda a célula para o tipo Markdown;
  • A: insere uma nova célula acima da atual;
  • B: insere uma nova célula abaixo da atual;
  • X: recorta a célula selecionada;
  • C: copia a célula selecionada;
  • V: cola a célula copiada ou recortada abaixo da célula atual;
  • shift-V: cola a célula do clipboard acima;
  • D, D: deleta uma célula selecionada;
  • Z: desfaz a última ação;
  • L: ativa a enumeração das linhas.

Os seguintes atalhos estão implementados por default para a célula no modo de edição:

  • Tab: autocompleta durante a digitação;
  • Shift-Tab: abre uma minijanela com parte da documentação sobre a parte do código durante a documentação.

Esses são apenas alguns dos atalhos de teclado disponíveis no Jupyter Notebook. Para ver a lista completa de atalhos, basta pressionar a tecla “H” no modo de comando.

Dicas

  1. Reinicie o kernel: se o seu código não está funcionando corretamente, pode ser útil reiniciar o kernel. Isso limpará todas as variáveis do ambiente e permitirá que você execute seu código novamente a partir do início.
  2. Use extensões: o Jupyter Notebook possui uma variedade de extensões disponíveis que podem adicionar funcionalidades adicionais ao seu notebook. Algumas das extensões mais úteis incluem: Table of Contents (cria um índice de todas as seções do seu notebook), Collapsible Headings (permite que você colapse e expanda as seções do seu notebook) e ExecuteTime (mostra o tempo de execução de cada célula).
  3. Versione o seu notebook: se você está trabalhando em um projeto maior, é uma boa ideia versionar seu notebook para controlar as alterações ao longo do tempo. Você pode usar uma ferramenta de controle de versão, como o Git, para gerenciar suas alterações e colaborar com outras pessoas.

Referências

Revisão de texto: Vinicius Fialho


Publicado originalmente no Medium da UFRJ Analytica em 18 de abril de 2023.