Este curso nasceu como uma iniciativa voluntária de um grupo de mestrandos, doutorandos e pesquisadores de diferentes áreas do Laboratório Nacional de Biorrenováveis (LNBR -CNPEM) para aplicar a linguagem Python 3.8 nas diferentes áreas de atuação, as quais incluem automatização de processos, análise de dados, modelagem de sistemas industriais e biológicos, otimização, dentre outros.
-
Apresentar os conceitos básicos da linguagem Python 3.8, assim como sua utilização, características, limitações e vantagens. Os conceitos básicos incluem: ambientes de desenvolvimento, tipos de dados, containers nativos e não nativos e suas propriedades, operadores de relação, operadores aritméticos, operadores lógicos, loops, funções (criadas com
def), funções anônimas, funçõesbuilt-in, performance, entre outros aspectos; -
Apresentar as bibliotecas mais utilizadas no ecossistema Python. Sua utilização, propriedades, vantagens em relação a objetos nativos e performance;
-
Aplicar os conceitos da linguagen nas atividades desenvolvidas nas diferentes áreas de atuação do grupo.
-
Introdução
- IDEs mais usadas para Python;
- Pycharme
- Vscode
- Jupyter notebook
- Spyder
- Características da linguagem Python;
- Variáveis
- Tipos de dados
- Utilitários em Python
- IDEs mais usadas para Python;
-
Contêineres nativos e não nativos
- Contêineres nativos
- lists
- tuples
- dict
- set
- High-performance container
- Indexação e fatiamento
- Index
- Fatiamento
- Métodos aplicados a collections
- lists
- tuples
- dict
- set
- String
- Manipulação de Strings
- Contêineres nativos
-
Operadores e ciclos
- Operadores aritméticos e relacionais
- Condicionais
- Ciclos de repetição
-
Operadores lógicos e formatação de strings
- Formatação de string
- Método 1. Utilizando operador
% - Método 2. Utilizando
.format() - Método 3. Utilizando
f""
- Método 1. Utilizando operador
- Operadores lógicos (
and,or,not)
- Formatação de string
-
Funções
- Definição de funções
- Criando uma função
- Funções sem retorno com retorno único, e múltiplo retorno
- Escopo no interior de uma função
-
Funções continuação
- Parâmetros de entrada
- Parâmetros nomeados
- Default parameters
*args**kwargs
-
Funções continuação
- Ordem certa no momento de definir os parâmetros de uma função
- Nested function (funções dentro de funções)
- Exemplo completo
-
lambda e built-in functions
- Lambda functions
- Built-in functions ou funções integradas
map()filter()sorted()
-
Comprehension e módulos
- Definição de comprehension
- Comprehension em Python
- List comprehension
- Dict comprehension
- set comprehension
- generator comprehension
- Módulos
- Pacotes ou Bibliotecas (Packages or Libraries)
- Instalação de pacotes
-
Comparação de performance. Julia vs Python
-
NumPy
- List vs Numpy
- Indexação e fatiamento Numpy
- Arrays fila e arrays coluna
- Eliminando elementos, função delete
- Adicionando elementos insert e append
- Operações algebraicas com arrays (
+,-,\*,/,//,%) - Cannivete NumPy
- arange
- linspace
- ones, zeros e eye
- Shape
- Size
- dimensão
- reshape
- asarray
- where
- Carregando dados com Numpy
-
Pandas
- Instalação de pandas
- Importando pandas
- Series
- DataFrame e manipulação
- Criação de DataFrame
- Extraindo informação por colunas
- Extraindo utilizando função
loc() - Extraindo utilizando função
iloc() - Adicionando novas colunas;
- Adicionando novas filas (função
append()); - Eliminando colunas ou filas.
- Operadores de comparação e seleção condicional;
- Dados ausentes;
dropnafilnareplace
groupby,aggregateeapply- Juntando diffenrentes DataFrame
concatmergejoin
- Operações
uniquenuniquevalue_countsdelcolumnsindexsort_valuespivot
- Importando e exportando dados.
- csv
- excell
- html
-
Matplotlib
- Instalação é importação da biblioteca
- Histogramas
- Chart plot
- Gráficos de dispersão
- Comandos básicos para plotar gráficos de dependência
- Multiplos gráficos na mesma figura
- Plotando vários eixos
- Arrays gráficos
- Método 1
- Método 2. Usando Subplots
- Gráficos com múltiplos eixos verticais
- Salvando figuras
- Gráficos interativos
-
Interactividade com Python (Em desenvolvimento)
- Comandos mágicos em Jupyter-notebook
- Aspectos básicos de interatividade com ipwidgets
- Instalando a biblioteca
- Importando a biblioteca
- Método
interact - Método
interactive - Atualização continua desativada
- Explorando arquivos usando interactividade
- Analisando dados de um DataFrame Pandas
- Interatividade em gráficos
- Matplotlib
- Pyplot
- Figuras 3D
Para o funcionamento adequado se recomenda a instalação do Ecossistema Anaconda ou um ambiente virtual com:
- Python 3.7 ou superior
- JupyterNotebook ou JupyterLab
- Numpy
- Pandas
- Matplotlib
Fernan D. Martinez