Exercícios: Numpy#
import numpy as np
Crie os seguintes arrays:
Crie um array com 5 zeros.
Crie um array com 10 uns.
Crie um array com 5 valores 3.141.
Crie um array com os inteiros de 1 a 20.
Crie uma matriz 5 x 5 de uns com o tipo de dado
int.
pass
Use o numpy para:
Criar uma matriz 3D de 3 x 3 x 3 cheia de números aleatórios retirados de uma distribuição normal padrão (dica: np.random.randn()).
Redimensionar a matriz acima para o formato (27,).
pass
Crie um array com 20 números espaçados linearmente entre 1 e 10.
pass
Considere a seguinte array:
a = np.arange(1, 26).reshape(5, 5)Utilize indexação para obter os seguintes resultados:
20array([[ 9, 10], [14, 15], [19, 20], [24, 25]])
array([ 6, 7, 8, 9, 10])array([[11, 12, 13, 14, 15], [16, 17, 18, 19, 20]])
array([[ 8, 9], [13, 14]])
pass
Considere a seguinte array:
a = np.arange(1, 17).reshape(4, 4)a) Calcule a soma de todos os numeros de
ab) Calcule a soma de cada linha de
ac) Extraia todos os valores de
aque são maiores que a média dea(dica: use uma máscara booleana).
pass
O Numpy possui uma função padrão para calcular o desvio padrão,
np.std(). Porém, vamos escrever nossa própria função que opera sobre um array 1D (vetor). O desvio padrão é uma medida da «largura» da distribuição dos números dentro do vetor.Dado um array \(a\) e sua média \(\bar{a}\), o desvio padrão é calculado pela fórmula:
\[ \sigma = \left [ \frac{1}{N} \sum_{i=1}^N (a_i - \bar{a})^2 \right ]^{1/2} \]Agora, vamos criar uma função para calcular o desvio padrão de um array de entrada,
a:Primeiro, calcule a média dos elementos de
apara obter \(\bar{a}\).Em seguida, calcule a soma dos quadrados de \((a - \bar{a})\).
Depois, divida essa soma pelo número de elementos no array.
Por fim, tire a raiz quadrada (você pode usar
np.sqrt()para isso).
Teste sua função utilizando um array aleatório e compare o resultado com o da função
np.std()do Numpy. Não se esqueça de verificar também o tempo de execução.
pass
Crie uma matriz 10 x 10 inicializada com números aleatórios entre 0 e 10. Em seguida, calcule a média da matriz (existe uma função do numpy para isso,
np.mean()).
pass
Crie uma função que gere uma aposta válida para a Mega Sena. A função deve produzir uma lista com 6 números aleatórios, variando entre 1 e 60, sem números repetidos.
pass
Você tem uma lista em que cada elemento representa o valor gasto em reais em uma compra feita com seu cartão:
L = [13.5, 8.0, 5.99, 27.30, 199.99, 57.21]
Faça um programa cujo objetivo é calcular a porcentagem de cada valor em relação ao total gasto, dividindo cada gasto pelo total da lista para obter a porcentagem correspondente a cada compra.
pass
Crie um array com ângulos em graus: 0, 15, 30, … até 90 (ou seja, de 15 em 15 graus até 90).
Em seguida, crie 3 novos arrays contendo, respectivamente, o seno, cosseno e tangente dos elementos do primeiro array.
Por fim, calcule o arco seno, arco cosseno e arco tangente dos arrays acima e compare os resultados com os ângulos originais.
Desenvolva uma função que receba uma matriz quadrada de dimensão n x n e retorne a matriz triangular superior. Nesse tipo de matriz, todos os elementos abaixo da diagonal principal devem ser substituídos por zeros, mantendo os valores na diagonal e acima dela.
pass
Dado o array:
x = np.array([1, -1, 2, 5, 8, 4, 10, 12, 3])
Calcule a diferença entre cada elemento e seu vizinho.
pass
Dada uma matriz de ordem n x n, crie funções para:
a) Calcular a soma dos elementos presentes na diagonal principal da matriz.
b) Calcular a soma dos elementos presentes na diagonal secundária.
c) Calcular a soma dos elementos em cada linha da matriz.
d) Calcular a soma dos elementos em cada coluna da matriz.
pass
Dada uma matriz quadrada n x n, faça uma função que diga se ela é simétrica ou não. Teste para
np.random.randint(1, 99, (5, 5))
pass
Desenvolva um programa para calcular a multiplicação de duas matrizes \(C = AB\), onde \(A\), \(B\) e \(C\) são matrizes de ordem \(n \times n\). Em seguida, compare o resultado obtido pela sua implementação com o resultado da função
dotdo pacote Numpy.
pass
Crie uma matriz 4x3 com valores aleatórios inteiros entre 1 e 100. Em seguida imprima:
A matriz original
A matriz transposta (use .T)
pass
Crie um array NumPy com 10 valores aleatórios entre 0 e 100. Normalize o array de modo que os valores fiquem entre 0 e 1, com a fórmula: xnormalizado = x - min(x)/max(x) - min(x)
pass
Crie um matriz 3 x 4 com valores inteiros aleatórios entre 1 e 50. Depois calcule a média dos elementos de cada linha da matriz. Dica: use np.mean(matrzi, axis = 1)
pass
Crie uma matriz 3x3 com valores inteiros aleatórios entre 1 e 10. Calcule o determinante dessa matriz usando np.linalg.det().
pass
Crie uma matriz 5x3 com números inteiros aleatórios entre 10 e 99. Encontre o maior valor de cada coluna da matriz. Dica: use np.max(matriz, axis=0).
pass