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
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
Referência: http://docs.scipy.org/doc/numpy/reference/routines.math.html
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))
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)