A maior rede de estudos do Brasil

Grátis
23 pág.
aula_NumPy

Pré-visualização | Página 1 de 1

Módulo NumPy
Bianca Couto Ruivo
bianca.ruivo@gmail.com
 
 03/11/2011
 
 
Roteiro
 Download e instalação
 Tipos de dados (matrix e array)
 Aplicações
– Matrizes 
– Sistemas Lineares 
– Polinômios
– Outras
 Referências
 
 
Download e instalação
 Pacote baseado na linguagem C e utilizado para Computação Científica 
 Usado para manipulação de arrays multidimensionais e matrizes
 Pode ser baixado gratuitamente no endereço http://numpy.scipy.org/ 
 Fácil de instalar – funciona em sistemas Windows, Linux, Solaris, Mac OS X
 Uso: 
 >>> import numpy
 OU
 >>> from numpy import *
 
 
Tipos de dados- array e matriz
 Array (ndarray): 
– vetores homogêneos n-dimensionais 
– cada elemento do mesmo tipo (int ou float) 
– mais eficientes que listas
 a = np.array([[1, 2], [3, 4]])
 Matrix:
– Tipo específico de array bidimensional
 a = np.matrix('1 2; 3 4')
 
 
Tipos de dados - Array
 
 
Tipos de dados - Array
 
 
Tipos de dados - Array
 
 
Tipos de dados - Array
Acessando arrays
 
 
Tipos de dados - Array
Operações com arrays
 
 
Tipos de dados - Array
Operações com arrays
 
 
Tipos de dados - Array
 # importando o numpy
 >>> import numpy as np
 # criacao de um array multidimensional
 >>> a = np.array([[0,1,2,3], [4,5,6,7], [8,9,10,11]])
 >>> a
 array([[ 0, 1, 2, 3],
 [ 4, 5, 6, 7],
 [ 8, 9, 10, 11]])
 # tamanho do array
 >>> a.shape
 (3,4)
 # alterando a dimensao do array
 >>> a.shape = (2,6)
 >>> a
 array([[ 0, 1, 2, 3, 4, 5],
 [ 6, 7, 8, 9, 10, 11]])
 
 
 
Tipos de dados - Array
>>> print a
 array([[ 0, 1, 2, 3, 4, 5],
 [ 6, 7, 8, 9, 10, 11]])
# para acessar os elementos
>>> a[1,3]
9
>> a[0,3:5] 
array([3, 4])
# somar todos os elementos do array
>>> np.sum(a)
66
# soma dos elementos por eixo
>>> np.sum(a, axis=0) # ou a.sum(axis=0)
Array([ 6, 8, 10, 12, 14, 16])
>>> np.sum(a, axis=1) # ou a.sum(axis=1)
array([ 15, 51])
 
 
 
 
Tipos de dados - Array
 >>> a
 array([[ 0, 1, 2, 3, 4, 5],
 [ 6, 7, 8, 9, 10, 11]])
 
# valor minimo do array
>>> np.amin(a)
0
# valor maximo do array
>>> np.amax(a)
11
# posicao do maior valor do array
>>> np.argmax(a)
11
# posicao do menor valor do array
>>> np.argmin(a)
0
>>> array([1,2,3,4,5]) / 5
array([0, 0, 0, 0, 1])
>>> array([1.0,2,3,4,5]) / 5.0
Array([ 0.2, 0.4, 0.6, 0.8, 1. ])
# produto escalar entre 2 arrays
>>> dot(array([1,2,3,4,5]), array([2,3,4,5,6]))
71
 
 
 
 
Tipos de dados - Array
>>> x = array([[1,2,3,4],[5,6,7,8]])
>>> x
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
>>> x>5
array([[False, False, False, False],
[False, True, True, True]], dtype=bool)
>>> x[x>5]
Array([6, 7, 8])
>>> sum(x[x>5])
21
>>> (x>2) & (x<7)
array([[False, False, True, True],
[ True, True, False, False]], dtype=bool)
>>> x[(x>2) & (x<7)]
Array([3, 4, 5, 6])
>>> x[x>5] = 5
>>> x
array([[1, 2, 3, 4],
[5, 5, 5, 5]])
 
 
 
 
Aplicações - Matrizes
>>> b = np.matrix('1 2; 3 4')
>>> b
matrix([[1, 2],
 [3, 4]])
# inversa
>>> b.I # ou la.inv(b)
matrix([[-2. , 1. ],
 [ 1.5, -0.5]])
# multiplicacao por escalar
>>> b*2
matrix([[2, 4],
 [6, 8]])
# potencia
>>>b**2
matrix([[ 7, 10],
 [15, 22]])
 
 
Aplicações - Matrizes
>>> a=np.matrix('4 3; 2 1')
>>> b=np.matrix('1 2; 3 4')
>>> print a
matrix([[4 3]
 [2 1]])
>>> print b
matrix([[1 2]
 [3 4]])
>> print a*b
matrix([[13 20]
 [ 5 8]])
>> print a+b
matrix([[5 5]
 [ 5 5]])
 
 
Aplicações - Matrizes
# matriz 2x2
>>> a = np.matrix('1 2; 3 4')
>>> print a
matrix([[4 3]
 [2 1]])
# elementos da diagonal
>>> np.diagonal(a)
# determinante
>>> la.det(a)
# muda a ordem dos elementos (transposta)
>>> a.transpose() # ou a.T
# inversa
>>> a.I # ou la.inv(a)
# autovalores e autovetores
e,v = la.eig(a)
 
 
Aplicações - Matrizes
>>> a
 array([[ 0, 1, 2, 3, 4, 5],
 [ 6, 7, 8, 9, 10, 11]])
# matriz transposta
>>> a.transpose()
>>> a.T
array([[ 0, 6],
 [ 1, 7],
 [ 2, 8],
 [ 3, 9],
 [ 4, 10],
 [ 5, 11]])
# determinante (matriz tem que ser quadrada)
>>> a = np.array([[1,0,0], [0,1,0], [0,0,1]])
>>> la.det(a)
# elementos da diagonal principal
>>> np.diagonal(a)
array([1,1,1])
 
 
 
 
Aplicações - Matrizes
>> import numpy as np
>>> import numpy.linalg as la
# matriz como array
>>> m1 = np.array([[1,0],[0,2]])
# determinante de m1
>>> la.det(m1)
# inversa de m1
>>> la.inv(m1)
# autovalores e autovetores
>>> e,v = la.eig(m1)
# produto de matrizes
>>> c = np.array([[4, 3], [2, 1]])
>>> d = np.array([[1, 2], [3, 4]])
>>> print(np.dot(c,d))
array([[13 20]
 [ 5 8]])
 
 
 
 
Aplicações – Sistemas Lineares
 
 
Aplicações – Polinômios
 
 
Aplicações – Outras
 Ajuste de curvas
 Numeros aleatórios
 Solução de equações diferenciais
 Outras
 
 
Referências
 NumPy Book: http://www.tramy.us/numpybook.pdf
 Download e instalação do NumPy: http://numpy.scipy.org 
 Livro Python para desenvolvedores: http://ark4n.wordpress.com/python 
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23

Crie agora seu perfil grátis para visualizar sem restrições.