Python Numpy.std() - Função de Desvio Padrão

Sohaib Atiq 30 janeiro 2023
  1. Sintaxe da função numpy.std()
  2. Códigos de exemplo: numpy.std() Com matriz 1-D
  3. Códigos de exemplo: numpy.std() Com array 2-D
  4. Códigos de exemplo: numpy.std() Com dtype Especificado
Python Numpy.std() - Função de Desvio Padrão

A função Numpy.std() calcula o desvio padrão do array dada ao longo do eixo especificado.

Sintaxe da função numpy.std()

numpy.std(arr, axis=None, dtype=float64)

Parâmetros

arr array_like
array de entrada para calcular o desvio padrão
axis Eixo ao longo do qual o desvio padrão é computado.
axis=0 significa desvio padrão computado ao longo da coluna,
axis=1 significa desvio padrão ao longo da linha.
Trata a matriz de múltiplas dimensões como uma lista achatada se o axis não for dado.
dtype Tipo dtype ou None
Tipo de dados utilizado durante o cálculo do desvio padrão.

Retornar

Ele retorna o desvio padrão do array dada, ou um matriz com o desvio padrão ao longo do eixo especificado.

Códigos de exemplo: numpy.std() Com matriz 1-D

Quando a matriz Python 1-D é a entrada, a função Numpy.std() calcula o desvio padrão de todos os valores do array.

import numpy as np

arr = [10, 20, 30]
print("1-D array :", arr)
print("Standard Deviation of arr is ", np.std(arr))

Resultado:

1-D array : [10, 20, 30]
Standard deviation of arr is  8.16496580927726

Aqui, o array 1-D tem os elementos de 10, 20 e 30; portanto, o valor no retorno DataFrame é o desvio padrão sem atribuir nenhuma informação de eixo.

Códigos de exemplo: numpy.std() Com array 2-D

import numpy as np

arr = [[10, 20, 30], [3, 50, 5], [70, 80, 90], [100, 110, 120]]

print("Two Dimension array :", arr)
print("SD of with no axis :", np.std(arr))
print("SD of with axis along column :", np.std(arr, axis=0))
print("SD of with axis aong row :", np.std(arr, axis=1))

Resultado:

Two Dimension array : [[10, 20, 30], [3, 50, 5], [70, 80, 90], [100, 110, 120]]
SD of with no axis : 41.21960159384798
SD of with axis along column : [40.73312534 33.54101966 45.87687326]
SD of with axis aong row : [ 8.16496581 21.6999744   8.16496581  8.16496581]

O np.std(arr) trata a matriz de entrada como a matriz achatada e calcula o desvio padrão desta matriz 1-D achatada.

np.std(arr, axis=0) calcula o desvio padrão ao longo da coluna. Ele retorna [40.73312534 33.54101966 45.87687326] como o desvio padrão de cada coluna do array de entrada.

O np.std(arr, axis=1) calcula o desvio padrão ao longo da linha. Ele retorna [8.16496581 21.6999744 8.16496581 8.16496581] como o desvio padrão de cada linha do array de entrada.

Códigos de exemplo: numpy.std() Com dtype Especificado

import numpy as np

arr = [10, 20, 30]
print("Single Dimension array :", arr)
print("SD of Single Dimension array :", np.std(arr))
print("SD value with float32 data :", np.std(arr, dtype=np.float32))
print("SD value with float64 data :", np.std(arr, dtype=np.float64))

Resultado:

Single Dimension array : [10, 20, 30]
SD of Single Dimension array : 8.16496580927726
SD value with float32 data : 8.164966
SD value with float64 data : 8.16496580927726

Se o parâmetro dtype for dado na função numpy.std(), ele utiliza o tipo de dado especificado durante o cálculo do desvio padrão.

É óbvio notar que o desvio padrão tem uma resolução menor se atribuirmos dtype com float32 em vez de float64.