Manipulando Matrizes
Manipulando Matrizes
Uma matriz NumPy (ou numpy.ndarray) é uma estrutura de dados multidimensional otimizada para armazenar e operar com grandes quantidades de dados numéricos de maneira eficiente. Ela pertence à biblioteca NumPy, que é amplamente utilizada em computação científica, aprendizado de máquina, análise de dados e muitas outras áreas.
ㅤ Criando uma Matriz com 2 dimensões:
arr9 = np.array([ [1,2,3], [4,5,6] ])
print(arr9)
[[1 2 3]
[4 5 6]]
ㅤ
Verificando a forma (shape) desse array criado:
print(arr9.shape)
(2, 3)
ㅤ
ㅤ
Dessa forma, eu crio uma matriz, com 2 dimensões preenchida com o número 1:
arr10 = np.ones((2,3))
print(arr10)
[[1. 1. 1.]
[1. 1. 1.]]
ㅤㅤ
Vamos criar uma listas de listas:
lista = [[10,20,30], [90,80,100], [1,2,3]]
Criando uma array numpy a partir de uma lista de listas:
arr11 = np.matrix(lista)
Verificando a forma (shape) desse array criado:
arr11.shape
(3, 3)
ㅤㅤ
ㅤㅤ
Manipulando os elementos das matrizes
Fatiando uma matriz (SLICING)
antes de tudo: INDEXAÇÃO EM PYHTON COMEÇA POR ZERO!
A indexação por matrizes é um pouco diferente, como vamos manipular uma matriz que tem 3 dimensões, precisamos especificar, qual a dimensão e depois qual elemento:
[dimensão, elemento] ㅤㅤ
ㅤㅤ
Vendo os valores da array a ser manipulada:
print(arr11)
[[ 10, 20, 30]
[ 90, 80, 100]
[ 1, 2, 3]]
ㅤㅤ
Retornando o elemento de indice 1 da linha de indice 2:
arr11[2,1]
2
ㅤㅤ
Vamos retornar das linhas de índice 0, até 1 (Porque o índice 2 é EXCLUSIVO), apenas os elementos de índice 2
arr11[0:2, 2]
matrix([[ 30],
[100]])
ㅤ
ㅤ
Retornando da linha de índice 1, qualquer valor (todos valores)
arr11[1, ]
matrix([[ 90, 80, 100]])
ㅤ
Manipulando os elementos
Alterando um elemento pelo índice:
arr11[1,0] = 100
ㅤ
Se não definirmos o tipo do dado, o numpy define ele, porém, pode acabar cometendo erros, é um bom ponto de atenção:
x = np.array([1,2]) # o Numpy decide o tipo do dado
y = np.array([1.0,2.0]) # o Numpy decide o tipo do dado
z = np.array([1,2], dtype = np.float64) # Aqui foi definido o tipo de dado em particular
print(x.dtype, y.dtype, z.dtype)
print(x.dtype, y.dtype, z.dtype)
ㅤ
Podemos definir o tipo de um array já na criação:
arr12 = np.array([[24, 76, 92, 14], [47, 36, 89, 2]], dtype = float)
print(arr12)
[[24. 76. 92. 14.]
[47. 36. 89. 2.]]
ㅤ