Introdução
Neste laboratório, abordaremos a função numpy.std() da biblioteca NumPy. Entenderemos o que significa desvio padrão e como usar numpy.std() para calcular o desvio padrão de um array.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Entendendo o Desvio Padrão
O desvio padrão é uma medida da quantidade de variação ou dispersão de um conjunto de valores. Matematicamente, o desvio padrão é definido como a raiz quadrada da média dos desvios ao quadrado em relação à média. Vamos dar uma olhada na fórmula do desvio padrão:
$$std = \sqrt{\frac{\sum_{i=1}^{n} (x_i-\bar{x})^2}{n}}$$
Aqui, $\bar{x}$ é a média dos elementos do array, $x_i$ é o i-ésimo elemento do array, e $n$ é o número de elementos no array.
Sintaxe de numpy.std()
A sintaxe necessária para usar a função numpy.std() é a seguinte:
numpy.std(a, axis=None, dtype=None, out=None)
Parâmetros
a: Array de entrada (input array)axis: Eixo ao longo do qual calcular o desvio padrão. Por padrão, é calculado em um array achatado (flattened array).dtype: Tipo de dado desejado da saída retornadaout: Array de saída (output array), no qual a saída é armazenada.
Retorna
Retorna o desvio padrão do array ou um array com valores de desvio padrão ao longo do eixo especificado.
Exemplo
Vamos analisar um exemplo simples usando numpy.std().
import numpy as np
## create 2D array
a = np.array([[11, 2], [13, 44]])
print("The array is:\n",a)
## calculate standard deviation of flattened array
print("Standard Deviation is :")
print(np.std(a))
## calculate standard deviation along axis 0
print("Standard Deviation along axis 0:")
print(np.std(a, axis=0))
## calculate standard deviation along axis 1
print("Standard Deviation along axis 1:")
print(np.std(a, axis=1))
Saída:
The array is:
[[11 2]
[13 44]]
Standard Deviation is :
15.850867484147358
Standard Deviation along axis 0:
[ 1. 21.]
Standard Deviation along axis 1:
[ 4.5 15.5]
Precisão
Vamos analisar um exemplo onde podemos especificar o tipo de dado para a saída.
import numpy as np
inp = [22, 2, 17, 11, 34]
print("The input array is : ")
print(inp)
## calculate standard deviation
print("The standard deviation of the Input Array is: ")
print(np.std(inp))
## get more precision with float 32
print("\nTo get More precision with float32")
print("Thus std of array is : ", np.std(inp, dtype=np.float32))
## get more accuracy with float 64
print("\nTo get More accuracy with float64")
print("The std of array is : ", np.std(inp, dtype=np.float64))
Saída:
The input array is:
[22, 2, 17, 11, 34]
The standard deviation of the Input Array is:
10.721940122944167
To get More precision with float32
Thus std of array is : 10.72194
To get More accuracy with float64
The std of array is: 10.721940122944167
Nota: Para calcular o desvio padrão com mais precisão, dtype float64 é usado.
Resumo
Neste laboratório, aprendemos sobre a função numpy.std(), que é usada para calcular o desvio padrão de um array ao longo do eixo especificado. Adicionalmente, compreendemos a sintaxe de numpy.std() e os diferentes parâmetros que podemos passar. Finalmente, vimos alguns exemplos para entender como numpy.std() funciona.