Função STD do NumPy

Beginner

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 retornada
  • out: 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.