Este repositório contém os artefatos do laboratório de estudo da linguagem de programação Python 3 study-python.
- Python 3 - Windows ou Linux
- Google Colab
- Ferramenta: Draw.IO (apoio: necessário para editar os diagramas UML)
- Pycharm community (produtividade: IDE facilita programação)
- VSCode (produtividade: IDE facilita programação)
- venv - administrador de múltiplos ambientes Python para evitar bagunçar as bibliotecas
- Jupyter Notebook - ambiente de programação e documentação Python na nuvem
- Colab Research Google - ambiente de programação Python na nuvem
Faça um clone do projeto git clone
. Use o branch master
se o branch develop
não estiver disponível.
- https://jupyter.org/
- Clique
Try in your Browser
- Clique
Try Classic Notebook
- Clique
String methods and index
lab-018-while-continue-for.py
lab-019-string-iterator.py
lab-020-for-iterator-range.py
lab-015-pass-ellipsis-placeholders.py
lab-021-lists-index-slice-append-insert-del-clear-extend.py
lab-022-list-for-continue-if-else.py
lab-023-split-join-enumerate-tuples-unpackage.py
lab-024-list-of-list-tuples-enumerate.py
lab-025-lists-unpacking.py
lab-101-def-function-create-use-arguments-default-return.py
lab-102-def-return-no-return-function-return.py
lab-103-def-return-list-tuple.py
lab-104-def-functions-args-kwargs.py
lab-105-variable-scopes-global-function-local.py
lab-112-iterable-iterator-generator-yield.py
lab-114-iterable-zip-itertools-zip-longest.py
lab-115-itertools-combinations-permutations-products.py
lab-116-groupby.py
lab-117-map-data.py
lab-118-map-lambda-function-as-parameter.py
lab-119-filter-lambda-function-as-parameter.py
lab-120-reduce-lambda-function-as-parameter.py
lab-121-exception-handling-try-except-raise-exception.py
lab-113-module-datetime-math-random-sys-time.py
lab-122-module-import-library-usercustom-pip-install-venv-activate.py
lab-123-package-usercustom.py
lab-124-file-open-write-read-seek-with-close.py
lab-125-json-write-to-read-from-file.py
lab-126-file-read-write-csv-tsv-comma-positional-utf7-utf8-unicode.py
lab-127-requests-beautifulsoup4-webscrapping.py
lab-128-selenium-web-browser.py
lab-129-openpyxl.py
lab-130-pypdf2.py
lab-131-pyautogui-pillow-desktop-automation-screenshot.py
lab-132-sqlite3.py
lab-133-pyodb-mssql.py
lab-134-string-template.py
lab-136-argparse-os-shutil-del-folder.py
lab-137-opencv-cv2-nympy-imagematch-imagecrop-imread-imwrite-imshow.py
lab-138-tesseract-ocr.py
lab-139-config-json-yaml-ini-xml-files.py
lab-140-qrcode.py
lab-141-jwt-encode-decode.py
lab-142-pycryptodome-cryptographic-primitives.py
lab-143-base64-encoding.py
lab-144-py3rijndael-aes-algorithm.py
lab-145-base64-image-encode-decode.py
lab-201-package-module-relative-reference-sys-path.py
lab-202-decorators.py
lab-203-solving-mutable-arguments-function.py
numpy
: biblioteca multi-dimensional arraypandas
: biblioteca carregamento de arquivos (.csv)plotly
: biblioteca de visualização dinâmica de gráficosseaborn
: biblioteca visualização de gráficosmatplotlib.pyplot
: biblioteca visualização de gráficosplotly.express
: biblioteca visualização de gráficos dinâmicossklearn
: bibliteca pré-processamento de dados
- Dataset é o conjunto que possibilita o treinamento e validação do modelo de ML. Na internet há incontáveis sites que disponibilizam informações minimamente estruturadas para serem processadas como Dataset de ML e DL: Simple Nama AI, University of California, Kaggle, IBM
- Os tipos de variáveis de um Dataset podem ser: Numéricas ou Categóricas conforme o mapa mental abaixo:
- Explorar o Dataset consiste em conhecer a estrutura dos dados, ie quantas linhas tem? quantas colunas de informações? qual o datatype bruto de cada uma das informações? qual a distribuição dos dados?
- Visualizar o Dataset consiste em conhecer de forma gráfica cognitiva as dados, entender melhor sua distribuição, etc
- Limpar o Dataset consiste em ajustar os dados brutos inconsistentes. Ex: idade > 122 anos, espaços, valores faltantes, etc
- Identificar os atributos preditivos
- Definir os atributos alvos e suas classes de rótulos
- Padronização e Normalização dos atributos
- Transformar os atributos com Label Encoders e One Hot Encoder
- Dividir os dados do Dataset nos conjuntos de treino (train), opcionalmente validação (validation) e teste(test)
- Salvar o modelo já processado para não precisar reprocessá-lo novamente
Laboratory | Python Library | Preprocessing Techniques / Activities |
---|---|---|
lab-301-dataset-iris-python-basic.ipynb |
- | Exploration, Visualization, Cleaning |
lab-302-credit-risk-DataExploration-DatasetVisualization-DataCleaning-PredictiveAnalysis-ValuesScalling-pandas-numpy-seaborn-matplotlib-plotly.ipynb |
plotly , pandas , numpy , seaborn , matplotlib.pyplot , plotly.express |
Exploration, Visualization, Cleaning Predictive Analysis Values Scalling |
lab-303-census-adult-DataExploration-DatasetVisualization-DataCleaning-PredictiveAnalysis-ValuesTransformation-ValuesScalling-pandas-numpy-seaborn-matplotlib-plotly.ipynb |
plotly , pandas , numpy , seaborn , matplotlib.pyplot , plotly.express |
Exploration, Visualization, Cleaning Predictive Analysis Values Transformation |
3.5.3.1. Exercício 01: Programa Python para calcular os dois valores de uma equação do 2o grau por Bhaskara
- Requisitos de negócio:
- Requisitos técnico funcional:
- Faça um programa Python para calcular uma equação do 2o grau pelo método de Bhaskara
- O programa deve pedir como entrada cada um dos valores:
a
,b
ec
- O programa deve consistir os valores de entradas e apresentar mensagens de erros específicas
- O programa deve calcular e apresentar o valor de Delta
- O programa deve dizer se a equação tem solução, calcular e apresentar os dois valores da equação:
x1
ex2
- Requisitos técnico não funcional:
- O programa deve ter pelo menos uma função
- O programa deve funcionar como um módulo, isto é se executado diretamente deve pedir as variáveis de entrada, porém se carregado por outro programa pode ser chamado por uma função
bhaskara(a,b,c)
- O programa deverá fazer uso dos seguintes recursos de programação em linguagem Python:
- variables, datatypes(integer, float, string), operations (+, -, *, /), user input, format (integers numbers, float always 3 decimal place), casting, operators (if, then, else, else if), exception manipulation (try, catch), define functions, module import
- Requisitos de negócio:
- Programa que leia o texto de um arquivo e apresente um resumo das top 10 palavras mais utilizadas no texto e as linhas correspondentes onde a palavara apareceu
- Requisitos técnico funcional:
- Faça um programa Python para identificar e apresentar como saída as top 10 palavras utilizadas no texto
list_files = ['file-06-trecho-livro-filosofia.txt', 'file-07-trecho-livro-literatura.txt', 'file-08-trecho-livro-biblia-ezequiel-25.txt']
- As palavras compostas unidas por um traço devem ser consideradas em separado:
- Ex: lírio-do-vale serão 3 palavaras:
lírio
,do
evale
- Ex: lírio-do-vale serão 3 palavaras:
- Algumas palavras devem ser desconsideradas por se tratarem de artigos ou preposições ou comum demais na língua portugesa. Segue a lista:
list_words_ignore = ['a', 'as', 'o', 'os', 'e', 'de', 'da', 'das', 'do', 'dos', 'um', 'uns', 'uma', 'umas', 'que', 'por', 'porque']
- As palavras maiúsculas e minúsculas devem ser consideradas como a mesma palavra.
- Ex:
Palavra
é igual àpalavra
.
- Ex:
- As separações silábicas de palavras no final da linha não podem comprometer a palavra. Ex: Se a palavra
batata
precisar ser quebrada de linha então fica:- L-n:
... uma visão anticonstitucio-
- L-(n+1):
nalista da questão ...
- L-n:
- As palavras são formadas por letras vogais e consoantes, incluindo as acentuações que não poderá ser um problema considerando UFT-8.
- Os demais caracteres especiais não podem ser confundidos com palavras.
str_chars_ignore = '0123456789,.;/\\?![]^~{}`"\'!@#$%&*()-_=+' + '—'
- O resumo apresentado deve conter: o nome do arquivo, a lista das 10 palavras mais utilizadas, quantidade de ocorrêcias e a relação do número da linhas e palavra de cada ocorrência
* file-06-trecho-livro-filosofia.txt:
1: se (29) - ['L3-W5', 'L5-W4', 'L7-W10', ...
2: em (24) - ['L4-W9', 'L8-W12', 'L12-W8', ...
3: prazer (21) - ['L4-W13', 'L6-W8', 'L9-W6', ...
:
10: ...
* file-07-trecho-livro-literatura.txt:
1: é (10) - ['L1-W15', 'L3-W11', 'L4-W17', 'L9-W8', 'L14-W2', 'L14-W19', 'L22-W6', 'L28-W1', 'L39-W8', 'L39-W18']
2: não (10) - ['L3-W14', 'L5-W15', 'L9-W10', 'L16-W5', 'L16-W6', 'L21-W15', 'L22-W10', 'L22-W15', 'L24-W6', 'L39-W14']
:
10: ...
* file-08-trecho-livro-biblia-ezequiel-25.txt:
1: senhor (14) - ['L1-W8', 'L3-W11', 'L3-W16', ...
2: deus: (8) - ['L3-W12', 'L3-W17', 'L6-W6', ...
3: diz (8) - ['L3-W14', 'L6-W3', 'L8-W2', ...
10: ...
- Requisitos técnico não funcional:
- O programa deverá fazer uso dos seguintes recursos de programação em linguagem Python:
- file (open, readline), string, iterators, list, tuple, dictionary, set, list comprehension, formatting
- O programa deverá fazer uso dos seguintes recursos de programação em linguagem Python:
3.5.3.3. Exercício 03.xx.xx: Lista de exercícios Python Org Br
- Estrutura Sequencial
- Estrutura De Decisão
- Estrutura De Repetiçao
- Exercicios Listas
- Exercicios Funções
- Exercicios Com Strings
- Exercicios Arquivos
- Exercicios Classes
- Lista De Exercicios Projetos