NumPy é um pacote de Python que suporta operações com vetores e matrizes e é essencial para a computação científica com Python. O NumPy é baseado em C, portanto tem um desempenho superior se comparado às operações com vetores originais do Python. Neste post eu quero mostrar uma introdução básica ao NumPy para os iniciantes.
INSTALAÇÃO
Primeiro vamos instalar o NumPy. No Windows, basta baixar a última versão do numpy no site do SourceForge e instalar facilmente com o arquivo .exe. No Linux, instale o pacote "python-numpy" ou mesmo usando o easy_install numpy.
Pronto, agora é só abrir o console Python e importar o pacote:
>>> import numpy
CRIAÇÃO DE ARRAY
Para criar um array, é bem simples:
>>> a = np.array([0,1,2,3,4,5])
>>> a
array([0,1,2,3,4,5])
A função array do NumPy, recebe uma lista de Python e transforma em um array NumPy. Você pode checar o tipo:
>>> type(a)
E o tipo dos elementos:
>>> a.dtype
Para criar matrizes multidimensionais é bem simples também:
>>> a = np.array([[0,1,2,3], [4,5,6,7], [8,9,10,11]])
A função arange é bem parecida com a função range, só que retorna um array ao invés de uma lista:
>>> x = np.arange(11.)
array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
É possível definir mais parâmetros pra função arange:
>>> x = np.arange(10, 30, 5) #(limite inferior, limite superior, passo)
array([10, 15, 20, 25])
TAMANHO DO ARRAY
A propriedade shape mostra o tamanho de cada dimensão da matriz:
>>> a.shape
(3,4)
É possível, também, modificar essa propriedade:
>>> a.shape = (2,6)
>>> a
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
FUNÇÕES IMPORTANTES
A função sum soma todos os elementos do array:
>>> np.sum(a)
66
Podemos usar o parâmetro axis e determinar em qual eixo queremos a soma:
>>> np.sum(a, axis=0)
array([12, 15, 18, 21])
>>> np.sum(a, axis=1)
array([ 6, 22, 38])
Alternativamente, podemos usar o método sum:
>>> a.sum()
66
>>> a.sum(axis=0)
array([12, 15, 18, 21])
As funções amin e amax retornam o valor mínimo e o valor máximo do array, respectivamente:
>>> b = np.array([3.4, 5., 33., 8.])
>>> np.amin(b)
3.4
>>> np.amax(b)
33.0
argmin e argmax retornam o índice do menor valor e do maior valor do array, respectivamente:
>>> b.argmax()
2
>>> b.argmin()
0
O atributo flat retorna um iterator que permite acessar elementos de um array multidimensional como se ele fosse uma lista:
>>> a = np.array([[0,1,2,3], [4,5,6,7], [8,9,10,11]])
>>> a.flat
<numpy.flatiter object... >
>>> a.flat[:]
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
Bom pessoal, esta foi uma demonstração básica do que pode ser feito com o NumPy. Existem diversas outras características e funções que podem ser exploradas e são minuciosamente estudadas em nossos cursos.