Introdução do NumPy

Criar arrays NumPy


In [ ]:
import numpy as np

Podemos criar arrays NumPy diretamente via construtor numpy.array


In [ ]:
ar1 = np.array([0,1,2,3]) # array de 1 dimensão

In [ ]:
print(ar1)
print(type(ar1))

In [ ]:
ar2 = np.array([[0,3,5], [2,8,7]]) # array de 2 dimensões

In [ ]:
print(ar2)
print(type(ar2))

In [ ]:
# Para visualizar o formato do array
print(ar2.shape)

In [ ]:
# O número de dimensões pode ser obtido
print(ar2.ndim)

Existem outros métodos que podemos criar arrays NumPy, são eles:

* numpy.arange
* numpy.linspace
* numpy.ones
* numpy.zeros
* numpy.random.rand
* numpy.random.randn

numpy.arange - arange funciona da mesma forma que a função range do Python


In [ ]:
# numpy.arange
ar3 = np.arange(12)
print(ar3)

In [ ]:
# numpy.arange
# Inicio, fim (exclusivo), passo
ar4 = np.arange(3, 10, 3)
print(ar4)

numpy.linspace - gera números uniformemente espaçados ao longo de um intervalo especificado.

linspace(start, stop, num=50, retstep=True)

start - valor de inicio da sequência.
stop - o valor final da sequência.
num - numero da amostra a ser gerada (50 é padrão).
retstep - retorna o espaçamento (False é padrão).

In [ ]:
np.linspace(0.5, 4.0, num=5, retstep=True)

In [ ]:
np.linspace(2, 3, num=6, retstep=True) #(3-2)/(6-1)

numpy.ones - Cria arrays com o valor 1.


In [ ]:
ar5 = np.ones((2,3,2))
ar5

numpy.zeros - Cria arrays com o valor 0.


In [ ]:
ar6 = np.zeros((4,2))
ar6

Números aleatórios

O NumPy tem diversos métodos que podem ser utilizados para gerar números aleatórios (http://docs.scipy.org/doc/numpy/reference/routines.random.html).

numpy.random.rand - Produz números aleatórios distribuídos uniformemente entre 0 até m.

np.random.rand(m)

In [ ]:
ar7 = np.random.rand(3)
ar7

numpy.random.randn - Produz m números aleatórios normalmente distribuídos (Gaussian)

np.random.randn(m)

In [ ]:
ar8 = np.random.randn(5)
ar8

In [ ]:
# Soma
print(ar1)
print(np.sum(ar1))

In [ ]:
# Raiz Quadrada
print(ar2, '\n')
print(np.sqrt(ar2))

In [ ]:
# Multiplicação de elementos
ar9 = np.array([1,2,3])
ar10 = np.arange(4,7)
print(ar9, ar10, '\n')
np.multiply(ar9, ar10)

In [ ]:
# Primeiro array de elementos será
# elevado as potências do segundo array.
ar11 = np.arange(1,6)
print(ar11)
print(np.power(ar11, 3))

Exercícios

1 - Crie o array abaixo (sem ter que digitar explicitamente os valores).

ex1 = [1,3,5,7,9,11]

In [ ]:

2 - Crie um array 2x2 elementos aletatórios. Os valores gerados devem ficar entre 0 e 1. Utilize o np.random para resolver esse exercício


In [ ]:


In [ ]:


In [ ]:
help(np.random.rand)