Skip to content

StrangeUnit28/Tutoria_de_Python-BRISA

Tutoria de Python para Análise de Dados - BRISA

Descrição

  Repositório destinado a ser uma tutoria de Python para o projeto BRISA. O leitor será introduzido a linguagem e bibliotecas relevantes a análise de dados (Pandas, Numpy e MatPlotlib), além de tecnologias que aumentarão a eficiência na criação de um projeto.

Introdução Python

  • Descrição

  Python é uma linguagem de programação de alto nível, dinâmica, interpretada, modular, multiplataforma e que suporta uma arquitetura orientada a objetos.

  Por ser uma linguagem de sintaxe relativamente simples e de fácil compreensão, ganhou popularidade entre profissionais da indústria tecnológica que não são especificamente programadores, como engenheiros, matemáticos, cientistas de dados, pesquisadores e outros.

  Python é uma linguagem poderosa, possui uma grande comunidade e uma vasta quantidade de bibliotecas, o que faz com que essa seja uma linguagem muito versátil e de fácil aprendizado devido ao grande número de documentações. A seguir estão algumas dass principais áreas onde o Python é utilizado:


  1 - Scripting e automação: Algumas das bibliotecas para essa área são Pywin32 e Selenium;

  2 - Desenvolvimento web: A linguagem possui uma extensa variedade de frameworks para todos os tipos de gosto, entre eles os famosos Django, Flask e FastAPI;

  3 - Enquadramento de testes: Isso justifica por que desenvolvedores de software em Python adoram utilizar TDD (Test Driven Development). Para mais informações sobre essa técnica, acesse TDD;

  4 - Big Data: Para essa área o Python tem como a principal biblioteca o Pandas;

  5 - Ciência de dados: Nesse tutorial iremos focar nessa área, onde vamos conhecer as bibliotecas Pandas, NumPy e MatPlotlib;

  6 - Computação gráfica: Pacotes de soluções para esta área, como PyOpenGL e PyGame;

  7 - Inteligência artificial: Entre as bibliotecas mais comuns voltadas ao aprendizado de máquina estão o TensorFlow, PyThorch, Theano, Keras.


  • Vantagens

    • É fácil de aprender

    • É portátil e multiplataforma

    • É open source e gratuito

    • Oferece múltiplas possibilidades de desenvolvimento

    • É uma linguagem “curinga”


  • Desvantagens

    • Aplicações que lidam diretamente com o hardware

    • Aplicações onde o hardware não é escalável

    • Aplicações de missões críticas que processam dados em tempo real

    • Aplicações nativas com interfaces gráficas

    • Aplicações com vida útil muito longa


  • Instalação

    • Linux

      • Red Hat, CentOS, or Fedora

        dnf install python3 python3-devel
        
      • Debian or Ubuntu

        apt-get install python3 python3-dev
        
      • Gentoo

        emerge dev-lang/python
        
      • Arch Linux

        pacman -S python3
        
    • Windows

  Para fazer o Download do Python para Windows acesse o site Python Download


Introdução PyPI e pip

  • Descrição

  O PyPI é um repositório centralizado que hospeda milhares de pacotes de software desenvolvidos pela comunidade Python. Ele permite que os desenvolvedores compartilhem suas bibliotecas, frameworks e ferramentas com outros usuários do Python em todo o mundo. O PyPI desempenha um papel fundamental na promoção do compartilhamento e da colaboração dentro da comunidade Python.

  O PyPI possui uma interface da web que permite aos desenvolvedores pesquisar e explorar pacotes disponíveis. Você pode procurar por palavras-chave, categorias ou nome do pacote. Além disso, você pode obter informações detalhadas sobre um pacote específico, como a versão mais recente, a documentação e os requisitos de instalação.


  • Instalando pacotes do PyPI

  A instalação de pacotes do PyPI é simples e pode ser feita usando a ferramenta pip. Com o pip, você pode especificar o nome do pacote que deseja instalar e ele cuidará de baixar e instalar todas as dependências necessárias automaticamente.


  • Mas a final o que é pip ?

  O pip é um sistema de gerenciamento de pacotes padrão utilizado para instalar e gerenciar pacotes de software escritos na linguagem Python.

  Além disso, a maioria das distribuições do Python já vem com o pip pré-instalado, então muito provavelmente você já possui esse gerenciador instalado em sua máquina. Caso não possua, acesse aqui.

  Primeiramente, devemos entender que o comando pip deve ser executado em linha de comando para realizar a instalação dos pacotes. Por exemplo, se você quer instalar um pacote é necessário utilizar o comando abaixo:

pip install nome-de-algum-pacote

  Além disso você também pode desinstalar um pacote utilizando o comando abaixo:

pip uninstall nome-de-algum-pacote 

Introdução Venv

  • Descrição

  O virtualenv(Venv) no Python é utilizado para isolar a versão do Python e das bibliotecas usadas em um determinado sistema. Caso você não utilize o Venv, todas as bibliotecas necessárias para seu sistema seriam instaladas no ambiente do sistema operacional.


  • Cenário

  Você foi contratado para desenvolver um sistema de análise de dados pela empresa A e para isso você utilizará o Python 3.7.4 e as bibliotecas pandas e numpy.

  Esta mesma empresa te contrata para montar um sistema de cadastro e você opta por utilizar o mesmo Python 3.7.4, porém, como você irá disponibilizar este sistema na intranet deles, você usa o Flask, psycopg2 (para acesso ao PostgreSQL) e o marshmallow.

  Você tem o hobby de criar jogos e resolve estudar o pygame, porém, a versão do Python escolhida é o 3.8.1

  Um amigo pediu para você fazer um web scrapping e você resolve testar o Python 3.9. Além disso, você irá utilizar as bibliotecas requests e bs4 (BeautifulSoup)


  • Solução

  Caso você não utilize Venv para cada projeto, você teria que utilizar o Python instalado no seu sistema e teria que colocar todas as bibliotecas nele. Isso causaria um problema de gerenciamento das bibliotecas.


  • Problema

  A passagem "para cada projeto" foi grifada, pois caso você utilize um Venv para todos os projetos, você resolve apenas o isolamento do ambiente frente ao Python do sistema operacional, porém não resolve o gerenciamento das bibliotecas usadas e nem teria a possibilidade de usar versões de Python diferentes.


  • Vantagem

  Caso você use a mesma biblioteca em dois projetos diferentes e necessite fazer o upgrade dela em um dos projetos, isso é possível com Venv. O mesmo caso, sem Venv, seria arriscado, pois você poderia "quebrar" o sistema que não necessita da atualização.

(Fonte: MARQUES, Paulo. 2020) [2]


  • Importante

  Para mais informações de como criar, gerenciar e como funcionam os Venv no Python, acesse a Documentação do Venv.

  Dica: Utilizem ou aprendam a utilizar um Venv, pois a maioria dos projetos em Python fazem uso dessa tecnologia, além disso ao utilizar Venv vocês diminiuem a possibilidade de inconsistência de versões de linguagem e de bibliotecas.


Introdução Pandas

  • Descrição

  Pandas é uma biblioteca para Ciência de Dados de código aberto (open source), construída sobre a linguagem Python, e que providencia uma abordagem rápida e flexível, com estruturas robustas para se trabalhar com dados relacionais (ou rotulados), e tudo isso de maneira simples e intuitiva.

  Para mais informações sobre essa tecnologia, acesse a documentação Pandas.


  • Curiosidade

  Apesar do nome da biblioteca ser associado ao mamífero da família de ursos, tal qual o Python é associado com a espécie de cobra erroneamente, o nome da biblioteca Pandas é derivado do termo Panel Data, um conceito em inglês relacionado ao campo de estudo da econometria.


  • Instalação

  Pandas pode ser instalado via pip do PyPI.

pip install pandas

Introdução NumPy

  • Descrição

  NumPy é o pacote fundamental para computação científica em Python. É uma biblioteca em Python que fornece um objeto de array multidimensional, vários objetos derivados (como arrays mascarados e matrizes) e uma variedade de rotinas para operações rápidas em arrays, incluindo operações matemáticas, lógicas, manipulação de forma, ordenação, seleção, I/O, transformadas de Fourier discretas, álgebra linear básica, operações estatísticas básicas, simulação aleatória e muito mais.

  Para mais informações sobre essa tecnologia, acesse a documentação NumPy.


  • Instalação

  Se você já possui o Python, pode instalar o NumPy utilizando:

pip install numpy

Introdução MatPlotlib

  • Descrição

  Matplotlib é uma biblioteca compreensiva para criação de visualizações estáticas, animadas, e interativas em Python. Para mais informações sobre essa tecnologia, acesse a documentação MatPlotlib.


  • Instalação

  Se você já possui o Python, pode instalar o MatPlotlib utilizando:

pip install matplotlib

Introdução ao FastAPI

  • Descrição

  O FastAPI é uma biblioteca Python que permite criar APIs RESTful e GraphQL de forma rápida e fácil. Ele é baseado em outras bibliotecas populares como o Starlette para o backend e o Pydantic para validação e parsing de dados. Com o FastAPI, é possível criar APIs seguras, documentadas e testáveis de maneira eficiente.

  Para mais informações sobre essa tecnologia, acesse a documentação FastAPI.


  • Instalação

  Se você já possui o Python, pode instalar o FastAPI utilizando:

pip install fastapi uvicorn

Gostou da ideia desse repositório ?

  Caso a resposta seja sim, fique a vontade para contribuir com este projeto, afinal o melhor jeito de aprender é fazer. Para contribuir basta ler o Código de Conduta para uma comunidade segura e respeitosa, além disso ler o Guia de Contribuição e, obviamente, se possuir qualquer dúvida, basta perguntar na área de Discussão, se quiser responder a perguntas nessa área também, fique a vontade.


Vamos Começar a Praticar

  Clique aqui para iniciar alguns exercícios -> Só vem


Referências Bibliográficas

[1] Kenzie Academy Brasil, "O que é Python ?". Acesso em 18/05/2023;

[2] Stack Overflow, "Para que serve o Venv no Python ?". Acesso em 22/05/2023;

[3] Alura, Pandas: o que é, para que serve e como instalar. Acesso em 22/05/2023;

[4] AMARAL, Douglas - PyPI: O ecossistema de pacotes do Python. Acesso em 24/05/2023;

[5] Programador Viking, Pip Python: 4 Formas De Utilização Desse Gerenciador de Pacotes. Acesso em 24/05/2023;

About

Repositório destinado a ser uma tutoria básica de Python para Análise de Dados do projeto BRISA

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 14