SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Computação Científica com NumPy e Scipy


                     Silas Santiago L. Pereira
Roteiro
 O que é NumPy e SciPy ?
 Um pouco da história
 NumPy, SciPy como ambiente científico
 Comparação com o Matlab
 Funcionalidades do SciPy
 Instalação dos módulos
 Explorando o NumPy
 Exemplos
 Explorando o SciPy
 Exemplos
 Visualização de Gráficos com PyLab
Sobre mim
 Graduado em Ciência da Computação – UECE
 Mestrando em Ciência da Computação – MACC
 Pesquisador do LADESC
 Interesse em programação, redes, machine learning
O que é NumPy e SciPy ?
 NumPy
   módulo da linguagem Python que permite trabalhar com
   vetores e matrizes multidimensionais.
 Scipy
   é um software open-source para matemática, ciência e
   engenharia
   também o nome de uma conferência muito popular sobre
   programação científica com Python, que é patrocinada pela
   Enthought e outras.
Historia do NumPy e SciPy
 Eric Jones


                   Numpy
                     Criação por Travis Oliphant
                         Unificar a comunidade scipy com um
                         pacote numérico comum
 Travis Oliphant       Baseado em Numeric e NumArray
                   SciPy
                       Criação em 2001 por Eric Jones e
                       Travis Oliphant
                       Atualmente mantido por uma
                       próspera comunidade de usuários e
                       desenvolvedores.
NumPy, SciPy como ambiente científico
 capaz de competir com outros softwares matemáticos, tais como
 Matlab, Octave, R-Lab e Scilab
 iPython
   Shell melhorado para Python com diversos recursos para
   programação interativa, incluindo também interação fácil com PyLab.
Comparação com o Matlab
 Python + NumPy + SciPy = Programming Power
 Definição de Função em Matlab com muitas restrições
 Programação com Matlab não orientada a objetos
 NumPy/SciPy gratuitos e ainda amplamente usado
 Há muitos pacotes para geração de gráficos em Python
 tão bons quanto Matlab
  Matplotlib (http://matplotlib.sourceforge.net/)
    Python 2D Plotting library
    Provides a MATLAB-like plotting framework - matplotlib.pyplot
  PyLab (http://www.scipy.org/PyLab)
    Combines pyplot with numpy i nto a simgle namespace
    Convenient for interactive work
Funcionalidades do SciPy
 Organizado em subpacotes, abrangendo vários domínios
 da computação científica
Instalação dos módulos
 Scipy está disponível para diferentes plataformas
   http://new.scipy.org/download.html
   ou
     apt-get install python-numpy
     apt-get install python-scipy
                 http://numpy.scipy.org/
                            http://www.scipy.org
Explorando o NumPy
 Arrays
 Matrizes

                     0   1   2   3   4   5
                     10 11 12 13 14 15
                     20 21 22 23 24 25
                     30 31 32 33 34 35
                     40 41 42 43 44 45
                     50 51 52 53 54 55
Explorando o NumPy
 Array
  ndarrays – Vetores homogêneos (arrays) n-dimensionais
  Semelhantes a listas do Python
  Cada elemento do mesmo tipo (int ou float)
  Geralmente muito mais eficientes que listas
 Exemplo:
Explorando o NumPy
 Matrizes
  é um tipo específico de array bidimensional
  com Numpy, torna-se possível definir matrizes e efetuar várias
  operações sobre elas.
 Exemplo:
Explorando o NumPy
 Operações com Arrays e Matrizes
  Criação de Vetores
   numpy.zeros((M,N))                Vetor MxN de zeros
   numpy.ones((M,N))                 Vetor MxN de ums
   numpy.empty((M,N))                Vetor MxN vazio (qualquer valor)


   numpy.zeros_like(m)               Vetor de zeros com formato de m
   numpy.ones_like(m)                Vetor de ums com formato de m
   numpy.empty_like(m)               Vetor de vazio com formato de m


   numpy.random.random((M,N))        Vetor com valores aleatórios
   numpy.identity(N)                 Matriz Identidade, N x N
   numpy.array([(1,2,3),(4,5,6)])    Especifica os valores da matriz
   numpy.matrix([[1,2,3],[4,5,6]])   Especifica os valores da matriz
   numpy.arange(0.,1.,.3)            Vetor com Inicio I, fim F, passo P
   numpy.linspace(0.1, 1, 10)        Vetor com N valores de I à F
Explorando o NumPy
 Operações com Arrays e Matrizes
  Métodos de um vetor a (numpy.ndarray)
   a.sum()                     Somatório dos items
   a.min()                     Valor mínimo
   a.max()                     Valor máximo
   a.mean()                    Média aritmética
   a.std()                     Desvio Padrão
   a.var()                     Variância
   a.median()                  Mediana
   a.trace()                   Traço
   a.size()                    N° de elementos
   a.shape()                   Formato (dimensões)
   a.transpose()               Matriz transposta
   a.copy()                    Retorna cópia
   a.fill(valor)               Preenche com valor
Explorando o NumPy
 Operações com Arrays e Matrizes
  Operações entre vetores
   A-B, A+B, A*B, A/B,A**2            Operações elemento à elemento


   numpy.dot(A,B) ou mat(A)*mat(B)    Produto matricial
   numpy.concatenate((A,B), axis=0)   Concatena vetores


   A[0]                               1° elemento
   A[i][j] ou   A[i,j]                (linha i, coluna j)
   x[2:5]                             Subvetor [x[2],x[3],x[4]]
   x[:5]                              Subvetor [x[0],...,x[4]]
   x[2:]                              Subvetor [x[2],...x[N]]


   x[numpy.where(x>7)]                Elementos em x maiores que 7
Exemplo com NumPy
Explorando o Scipy
 Algebra Linear (scipy.linalg)
 Estatísticas (scipy.stats)
 Clusterização (scipy.cluster)
Álgebra Linear
 subpacote scipy.linalg
   Provê rotinas de álgebra linear
   Funções básicas
     inv, solve, det, norm, lstsq,pinv
 Exemplo
                                         x + y + z =0
                                         x -2y + 2z =1
                                             y + 2z =2
Estatísticas (scipy.stats)
 Vasto número de rotinas básicas de estatística.
   Distribuições contínuas e discretas
   Funções estatísticas
 Exemplo:
Clusterização (scipy.cluster)
 Algoritmos de Agrupamento
  Atualmente, apenas o K-Means (K-Médias)
    Algoritmo de aprendizado não supervisionado
Clusterização (scipy.cluster)
    Exemplo
1


2

3               Exemplos

                           N° de clusters
4

5                           Obtêm matriz de classificação e de distâncias



6
Exemplo: Clusterização
 Gráfico obtido
Visualização de Gráficos com PyLab
 Geração de gráficos 2D de excelente qualidade
  Possibilita
    edição interativa,
    animações,
    diversos tipos de gráficos,
    Anotações com latex
    Salvar em deferentes formatos
    Sintaxe semelhante ao Matlab
Visualização de Gráficos com PyLab
 Exemplo                 Importa os módulos




       Plota o gráfico
Perguntas?




             FIM

Más contenido relacionado

Destacado

Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...
Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...
Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...Debora Sebriam
 
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]Davi Kawasaki
 
Laboratório Nacional de Computação Científica
Laboratório Nacional de Computação CientíficaLaboratório Nacional de Computação Científica
Laboratório Nacional de Computação CientíficaNIT Rio
 
Jogadores, Players, Gamers
Jogadores, Players, GamersJogadores, Players, Gamers
Jogadores, Players, GamersRoger Tavares
 
WorkShop - Game & Criatividade Da ideia à mão na Massa!
WorkShop - Game & Criatividade Da ideia à mão na Massa!WorkShop - Game & Criatividade Da ideia à mão na Massa!
WorkShop - Game & Criatividade Da ideia à mão na Massa!Victor Rubens Cardozo
 
Game Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digitalGame Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digitalRoger Tavares
 
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...Davi Kawasaki
 
Introdução ao desenvolvimento de jogos 2d com Unit 3d
Introdução ao desenvolvimento de jogos 2d com Unit 3dIntrodução ao desenvolvimento de jogos 2d com Unit 3d
Introdução ao desenvolvimento de jogos 2d com Unit 3dEduardo Bonfandini
 
Internet das Coisas com Python e Arduino
Internet das Coisas com Python e ArduinoInternet das Coisas com Python e Arduino
Internet das Coisas com Python e ArduinoHumberto Zanetti
 
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeiras
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeirasA gamificação em ambientes virtuais de aprendizagem de línguas estrangeiras
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeirasGerson Bruno Forgiarini de Quadros
 
Livros nacionais de gamedev
Livros nacionais de gamedevLivros nacionais de gamedev
Livros nacionais de gamedevIngrid Mendes
 
CONCEPÇÃO DE ESTRUTURA DE QUADRICICLO A PEDAL DESENVOLVIDO E ANALISADO NO CAT...
CONCEPÇÃO DE ESTRUTURA DE QUADRICICLO A PEDAL DESENVOLVIDO E ANALISADO NO CAT...CONCEPÇÃO DE ESTRUTURA DE QUADRICICLO A PEDAL DESENVOLVIDO E ANALISADO NO CAT...
CONCEPÇÃO DE ESTRUTURA DE QUADRICICLO A PEDAL DESENVOLVIDO E ANALISADO NO CAT...Carlos Pedro
 
Livro Gamification, inc - Como reinventar empresas a partir de jogos
Livro Gamification, inc - Como reinventar empresas a partir de jogosLivro Gamification, inc - Como reinventar empresas a partir de jogos
Livro Gamification, inc - Como reinventar empresas a partir de jogosFabio Pedrazzi
 

Destacado (20)

CV Diego Reis
CV Diego ReisCV Diego Reis
CV Diego Reis
 
Game Art
Game ArtGame Art
Game Art
 
Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...
Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...
Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...
 
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
 
Laboratório Nacional de Computação Científica
Laboratório Nacional de Computação CientíficaLaboratório Nacional de Computação Científica
Laboratório Nacional de Computação Científica
 
Jogadores, Players, Gamers
Jogadores, Players, GamersJogadores, Players, Gamers
Jogadores, Players, Gamers
 
WorkShop - Game & Criatividade Da ideia à mão na Massa!
WorkShop - Game & Criatividade Da ideia à mão na Massa!WorkShop - Game & Criatividade Da ideia à mão na Massa!
WorkShop - Game & Criatividade Da ideia à mão na Massa!
 
Game Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digitalGame Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digital
 
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...
 
Introdução ao desenvolvimento de jogos 2d com Unit 3d
Introdução ao desenvolvimento de jogos 2d com Unit 3dIntrodução ao desenvolvimento de jogos 2d com Unit 3d
Introdução ao desenvolvimento de jogos 2d com Unit 3d
 
Internet das Coisas com Python e Arduino
Internet das Coisas com Python e ArduinoInternet das Coisas com Python e Arduino
Internet das Coisas com Python e Arduino
 
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeiras
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeirasA gamificação em ambientes virtuais de aprendizagem de línguas estrangeiras
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeiras
 
Projeto de Douturado
Projeto de DouturadoProjeto de Douturado
Projeto de Douturado
 
TCC_Gabriel Estêvão de Morais Rodrigues - Temporário
TCC_Gabriel Estêvão de Morais Rodrigues - TemporárioTCC_Gabriel Estêvão de Morais Rodrigues - Temporário
TCC_Gabriel Estêvão de Morais Rodrigues - Temporário
 
Computação Científica com Python 2013
Computação Científica com Python 2013Computação Científica com Python 2013
Computação Científica com Python 2013
 
Livros nacionais de gamedev
Livros nacionais de gamedevLivros nacionais de gamedev
Livros nacionais de gamedev
 
Apostila curso matlab
Apostila curso matlabApostila curso matlab
Apostila curso matlab
 
Curso matlab
Curso matlabCurso matlab
Curso matlab
 
CONCEPÇÃO DE ESTRUTURA DE QUADRICICLO A PEDAL DESENVOLVIDO E ANALISADO NO CAT...
CONCEPÇÃO DE ESTRUTURA DE QUADRICICLO A PEDAL DESENVOLVIDO E ANALISADO NO CAT...CONCEPÇÃO DE ESTRUTURA DE QUADRICICLO A PEDAL DESENVOLVIDO E ANALISADO NO CAT...
CONCEPÇÃO DE ESTRUTURA DE QUADRICICLO A PEDAL DESENVOLVIDO E ANALISADO NO CAT...
 
Livro Gamification, inc - Como reinventar empresas a partir de jogos
Livro Gamification, inc - Como reinventar empresas a partir de jogosLivro Gamification, inc - Como reinventar empresas a partir de jogos
Livro Gamification, inc - Como reinventar empresas a partir de jogos
 

Similar a Computação científica com numpy e scipy

Usando numba onde python é lento
Usando numba onde python é lentoUsando numba onde python é lento
Usando numba onde python é lentoEdison Muenz
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialFabio Spanhol
 
SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorialblogmaxima
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando RFabrício Barth
 
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...AzulAssessoriaAcadmi7
 
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...AzulAssessoriaAcadmi7
 
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...AzulAssessoriaAcadmi7
 
Golang e data science oficial v1
Golang e data science   oficial v1Golang e data science   oficial v1
Golang e data science oficial v1Rodrigo Pinheiro
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Motalucianacmota
 
Curso de Matlab basico
Curso de Matlab basicoCurso de Matlab basico
Curso de Matlab basicoGabriel Costa
 
Cartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfCartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfEdkallenn Lima
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
Ganhando performance no Python com Numba em projetos não científicos
Ganhando performance no Python com Numba em projetos não científicosGanhando performance no Python com Numba em projetos não científicos
Ganhando performance no Python com Numba em projetos não científicosAlejandro Mesias Nebra Perez
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptMichaelArrais1
 

Similar a Computação científica com numpy e scipy (20)

Sbc scipy
Sbc scipySbc scipy
Sbc scipy
 
Usando numba onde python é lento
Usando numba onde python é lentoUsando numba onde python é lento
Usando numba onde python é lento
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
 
Aula 01
Aula 01Aula 01
Aula 01
 
SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorial
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando R
 
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
 
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
 
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
Observe o código e a saída apresentada por ele. IMPLEMENTE uma solução semelh...
 
Golang e data science oficial v1
Golang e data science   oficial v1Golang e data science   oficial v1
Golang e data science oficial v1
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
 
Python
PythonPython
Python
 
Curso de Matlab basico
Curso de Matlab basicoCurso de Matlab basico
Curso de Matlab basico
 
Cartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfCartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdf
 
Slide_Python.pdf
Slide_Python.pdfSlide_Python.pdf
Slide_Python.pdf
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Ganhando performance no Python com Numba em projetos não científicos
Ganhando performance no Python com Numba em projetos não científicosGanhando performance no Python com Numba em projetos não científicos
Ganhando performance no Python com Numba em projetos não científicos
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).ppt
 
Aula3PythonBasico.ppt
Aula3PythonBasico.pptAula3PythonBasico.ppt
Aula3PythonBasico.ppt
 
Scipy meetup-2020-02
Scipy meetup-2020-02Scipy meetup-2020-02
Scipy meetup-2020-02
 

Computação científica com numpy e scipy

  • 1. Computação Científica com NumPy e Scipy Silas Santiago L. Pereira
  • 2. Roteiro O que é NumPy e SciPy ? Um pouco da história NumPy, SciPy como ambiente científico Comparação com o Matlab Funcionalidades do SciPy Instalação dos módulos Explorando o NumPy Exemplos Explorando o SciPy Exemplos Visualização de Gráficos com PyLab
  • 3. Sobre mim Graduado em Ciência da Computação – UECE Mestrando em Ciência da Computação – MACC Pesquisador do LADESC Interesse em programação, redes, machine learning
  • 4. O que é NumPy e SciPy ? NumPy módulo da linguagem Python que permite trabalhar com vetores e matrizes multidimensionais. Scipy é um software open-source para matemática, ciência e engenharia também o nome de uma conferência muito popular sobre programação científica com Python, que é patrocinada pela Enthought e outras.
  • 5. Historia do NumPy e SciPy Eric Jones Numpy Criação por Travis Oliphant Unificar a comunidade scipy com um pacote numérico comum Travis Oliphant Baseado em Numeric e NumArray SciPy Criação em 2001 por Eric Jones e Travis Oliphant Atualmente mantido por uma próspera comunidade de usuários e desenvolvedores.
  • 6. NumPy, SciPy como ambiente científico capaz de competir com outros softwares matemáticos, tais como Matlab, Octave, R-Lab e Scilab iPython Shell melhorado para Python com diversos recursos para programação interativa, incluindo também interação fácil com PyLab.
  • 7. Comparação com o Matlab Python + NumPy + SciPy = Programming Power Definição de Função em Matlab com muitas restrições Programação com Matlab não orientada a objetos NumPy/SciPy gratuitos e ainda amplamente usado Há muitos pacotes para geração de gráficos em Python tão bons quanto Matlab Matplotlib (http://matplotlib.sourceforge.net/) Python 2D Plotting library Provides a MATLAB-like plotting framework - matplotlib.pyplot PyLab (http://www.scipy.org/PyLab) Combines pyplot with numpy i nto a simgle namespace Convenient for interactive work
  • 8. Funcionalidades do SciPy Organizado em subpacotes, abrangendo vários domínios da computação científica
  • 9. Instalação dos módulos Scipy está disponível para diferentes plataformas http://new.scipy.org/download.html ou apt-get install python-numpy apt-get install python-scipy http://numpy.scipy.org/ http://www.scipy.org
  • 10. Explorando o NumPy Arrays Matrizes 0 1 2 3 4 5 10 11 12 13 14 15 20 21 22 23 24 25 30 31 32 33 34 35 40 41 42 43 44 45 50 51 52 53 54 55
  • 11. Explorando o NumPy Array ndarrays – Vetores homogêneos (arrays) n-dimensionais Semelhantes a listas do Python Cada elemento do mesmo tipo (int ou float) Geralmente muito mais eficientes que listas Exemplo:
  • 12. Explorando o NumPy Matrizes é um tipo específico de array bidimensional com Numpy, torna-se possível definir matrizes e efetuar várias operações sobre elas. Exemplo:
  • 13. Explorando o NumPy Operações com Arrays e Matrizes Criação de Vetores numpy.zeros((M,N)) Vetor MxN de zeros numpy.ones((M,N)) Vetor MxN de ums numpy.empty((M,N)) Vetor MxN vazio (qualquer valor) numpy.zeros_like(m) Vetor de zeros com formato de m numpy.ones_like(m) Vetor de ums com formato de m numpy.empty_like(m) Vetor de vazio com formato de m numpy.random.random((M,N)) Vetor com valores aleatórios numpy.identity(N) Matriz Identidade, N x N numpy.array([(1,2,3),(4,5,6)]) Especifica os valores da matriz numpy.matrix([[1,2,3],[4,5,6]]) Especifica os valores da matriz numpy.arange(0.,1.,.3) Vetor com Inicio I, fim F, passo P numpy.linspace(0.1, 1, 10) Vetor com N valores de I à F
  • 14. Explorando o NumPy Operações com Arrays e Matrizes Métodos de um vetor a (numpy.ndarray) a.sum() Somatório dos items a.min() Valor mínimo a.max() Valor máximo a.mean() Média aritmética a.std() Desvio Padrão a.var() Variância a.median() Mediana a.trace() Traço a.size() N° de elementos a.shape() Formato (dimensões) a.transpose() Matriz transposta a.copy() Retorna cópia a.fill(valor) Preenche com valor
  • 15. Explorando o NumPy Operações com Arrays e Matrizes Operações entre vetores A-B, A+B, A*B, A/B,A**2 Operações elemento à elemento numpy.dot(A,B) ou mat(A)*mat(B) Produto matricial numpy.concatenate((A,B), axis=0) Concatena vetores A[0] 1° elemento A[i][j] ou A[i,j] (linha i, coluna j) x[2:5] Subvetor [x[2],x[3],x[4]] x[:5] Subvetor [x[0],...,x[4]] x[2:] Subvetor [x[2],...x[N]] x[numpy.where(x>7)] Elementos em x maiores que 7
  • 17. Explorando o Scipy Algebra Linear (scipy.linalg) Estatísticas (scipy.stats) Clusterização (scipy.cluster)
  • 18. Álgebra Linear subpacote scipy.linalg Provê rotinas de álgebra linear Funções básicas inv, solve, det, norm, lstsq,pinv Exemplo x + y + z =0 x -2y + 2z =1 y + 2z =2
  • 19. Estatísticas (scipy.stats) Vasto número de rotinas básicas de estatística. Distribuições contínuas e discretas Funções estatísticas Exemplo:
  • 20. Clusterização (scipy.cluster) Algoritmos de Agrupamento Atualmente, apenas o K-Means (K-Médias) Algoritmo de aprendizado não supervisionado
  • 21. Clusterização (scipy.cluster) Exemplo 1 2 3 Exemplos N° de clusters 4 5 Obtêm matriz de classificação e de distâncias 6
  • 23. Visualização de Gráficos com PyLab Geração de gráficos 2D de excelente qualidade Possibilita edição interativa, animações, diversos tipos de gráficos, Anotações com latex Salvar em deferentes formatos Sintaxe semelhante ao Matlab
  • 24. Visualização de Gráficos com PyLab Exemplo Importa os módulos Plota o gráfico
  • 25. Perguntas? FIM