Folha de dicas do NumPy
Então você precisa de uma olhada rápida no NumPy para que você trabalhe na prática? Este artigo é exatamente o que você precisa!

Começando
NumPy é um pacote de computação científica em Python. Ele vem com funções predefinidas para álgebra linear, transformada de Fourier e matrizes. O NumPy é geralmente usado para aplicativos de ciência de dados.
Para começar, primeiro certifique-se de ter Python e NumPy em seu sistema. Como obtê-lo depende do seu sistema e do IDE de sua preferência, mas eu recomendo o Anaconda. Com a instalação básica do Anaconda, você pode simplesmente ir ao terminal e executar “conda install numpy” e pronto!
Agora, vamos criar um arquivo example.py para começar a trabalhar.
Nota: Se criássemos um projeto em vez de um único arquivo de exemplo para trabalhar, teríamos que simplesmente criar um diretório e um arquivo __init__.py dentro dele.
Você deve adicionar a seguinte linha ao topo do arquivo para poder trabalhar com o NumPy dentro do arquivo.
importar numpy como np
Nota: Nós geralmente o importamos como np para que não tenhamos que digitar numpy toda vez que chamamos uma função do NumPy. Lembre-se de que, embora possa ser alterado, np é a convenção geral.
Depois disso, você pode executar o código dentro do arquivo de exemplo simplesmente acessando o terminal e executando o comando:
python exemplo.py
Lista vs Matriz
Vamos usar muito Arrays com nossas operações NumPy, então é melhor esclarecer uma coisa: listas e arrays são diferentes em Python.
Com Arrays você pode declarar estruturas multidimensionais como matrizes, e você pode realizar operações numéricas dentro delas, mas esse não é o caso com as velhas listas simples. Portanto, o NumPy depende fortemente de Arrays.
As listas podem ser atribuídas a um valor sem precisar ser declaradas, mas as matrizes não. Então, para definir uma matriz, você deve fazer como:
exemploArray = np.arrray([10, 15, 20]) // array unidimensional
Ou você pode definir uma matriz multidimensional como:
exemploArray2 = np.array([10, 15, 20], [50, 100, 150], [1, 2, 3])
Você pode chamar itens dentro da matriz como:
exemploArray2 [1] // retorna [50, 100, 150]
exemploArray2 [1] [0] // retorna 50
Métodos
Abaixo, você encontrará as funções mais básicas que são comumente usadas ao trabalhar com o NumPy. Embora existam muitos, muitos mais, o seguinte será suficiente para você começar.
Métodos de Criação de Arrays
- np.arange(0, 10): Cria uma matriz unidimensional com números de 0 a 9 como itens.
- np.arange(0, 10, 3): Cria uma matriz unidimensional com números entre 0 e 10 saltando a cada terço. Retorna uma matriz com 0,3,6,9 como itens.
- np.zeros(3): Cria uma matriz de 3 itens com o valor 0 para cada item.
- np.ones(3): Cria um array de 3 itens com o valor 1 para cada item.
- np.linspace(0,20,5): Toma 5 números entre 0 e 20 com passos iguais entre eles. Retorna uma matriz de itens 0, 5, 10, 15, 20. Lembre-se de que, se dissermos selecionar 6 itens, os itens seriam flutuantes em vez de inteiros para garantir espaço igual entre eles.
- np.eye(3): Cria uma matriz identidade com 3 colunas e 3 linhas. Os valores diagonais retornam todos 1 e todos os outros valores retornam 0.
- np.random.randn(5): Cria um array unidimensional com 5 números aleatórios como itens. Os números podem ser do tipo integer e/ou float, negativo e/ou positivo.
- np.random.randn(5,5): Cria uma matriz com 5 linhas e 5 colunas com 25 valores aleatórios como itens.
- np.random.randint(1, 10, 2): Retorna dois números aleatórios maiores que 1 e menores que 10.
- myArray.reshape(5,5): Pega o array unidimensional chamado myArray e o retorna como uma matriz com 5 linhas e 5 colunas. Lembre-se de que, se não houver um número suficiente de itens no array, no caso de exemplo 5 x 5 = 25 itens, isso gerará um erro e não funcionará. Esse método não alterará o array em si, mas simplesmente retornará uma versão alterada do array.
- myArray.max(): Retorna o maior número dentro dos itens de um array numérico.
- myArray.min(): Retorna o menor número dentro dos itens de um array numérico.
- myArray.argmax(): Retorna o índice do maior número dentro dos itens de um array numérico.
- myArray.argmin(): Retorna o índice do menor número dentro dos itens de um array numérico.
- myArray.shape: Retorna a forma de um array. Se o array for unidimensional com 10 itens, ele retornará (10, ). Se a matriz for uma matriz composta por 5 colunas e 6 linhas, retornará (5,6). Lembre-se de que isso não é uma função, mas um atributo, portanto, não há parênteses ao chamar a forma.
- myArray[5]: Retorna o item do array com o número de índice 5
- myArray[3:5]: Retorna os itens entre os números de índice 3 e 5, incluindo o item com o índice 3, mas não incluindo 5.
- myArray[3:5] = -3: Altera o valor dos itens entre os índices 3 e cinco para -3.
- myArray[:] = 30: Altera o valor de todos os itens do array para 30 um por um.
- myArray = 30: Altera o tipo de myArray de array para inteiro e define seu valor para 30.
- newArray = myArray.copy(): Cria uma cópia de myArray e a define como newArray. Observe que, se você não usasse o método .copy(), veria todas as alterações feitas no newArray refletidas no myArray também.
Vamos declarar uma matriz como myMatrix = ( [5, 10, 15] , [1, 2, 3] , [0, 0, 0] ).
- myMatrix[0]: Retorna o item com índice de linha 0, que é um array. Portanto retorna [5, 10, 15].
- myMatrix[0] [1]: Retorna o item com índice de coluna 1 e índice de linha 0, portanto, neste caso, retorna o valor 10.
- myMatrix[0,1]: Retorna o item com índice de coluna 1 e índice de linha 0, portanto neste caso retorna o valor 10.
- myMatrix[1, 1:]: Pega a linha com o índice 1 como de costume, mas retorna os itens com os índices da coluna começando em 1 (incluindo 1 já que a emenda sempre funciona com Python) então neste caso retorna [2, 3].
- myMatrix[ [0,1] ]: Retorna o valor dos índices 0 e 1, então no nosso caso retorna ( [5, 10, 15] , [1, 2, 3] ).
Vamos definir um array myArray para trabalhar como myArray = [ 5,10,15,20]
- myArray > 10: Retorna um array de true e false julgando pela condição, então no nosso caso retorna [false, false, true, true]. Observe que tihs não altera o valor original de myArray, mas cria um novo caminho.
- myArray [myArray > 10]: Retorna um novo array com os itens que realmente seguem a condição como [15, 20].
- myArray + myArray: Retorna um array onde os valores são somados índice por índice e colocados no índice correspondente, em nosso caso retorna [10, 20, 30, 40].
- myArray — myArray: Retorna um array onde os valores são subtraídos índice por índice e colocados no índice correspondente, em nosso caso retorna [0, 0, 0, 0].
- myArray/myArray: Retorna um array onde os valores são divididos índice por índice e colocados no índice correspondente, em nosso caso retorna [1,1,1,1]. Observe que, se houver um 0 em qualquer índice como valor, já que um número não pode ser dividido por 0, isso lançará um aviso e retornará nan para esse índice, mas dividirá os outros índices como de costume.
- np.sqrt(myArray): Retorna um array com a raiz quadrada se cada valor estiver no mesmo índice. Portanto, se myArray fosse [25, 16, 36], a função retornaria [ 5, 4, 6].