Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

NumPy std() Function



The NumPy std() function computes the standard deviation of the elements in an array along a specified axis. It returns the standard deviation, which measures the spread or dispersion of a distribution. By default, the standard deviation is calculated over the flattened array, but it can also be computed along a specified axis.

In statistics, the standard deviation is the square root of the variance. The formula is std = sqrt(sum((x_i - mean)^2) / N), where x_i is each data point, mean is the mean of the data, and N is the number of data points.

For a one-dimensional array, the standard deviation is computed over all elements. For multi-dimensional arrays, the standard deviation is computed along the specified axis.

Syntax

Following is the syntax of the NumPy std() function −

numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>, where=<no value>, mean=<no value>, correction=<no value>)

Parameters

Following are the parameters of the NumPy std() function −

  • a: Input array or object that can be converted to an array. It can be a NumPy array, list, or a scalar value.
  • axis (optional): Axis or axes along which the standard deviation is computed. Default is None, which means the standard deviation is computed over the entire array.
  • dtype (optional): Data type to use in computing the standard deviation. If None, it is inferred from the input array.
  • out (optional): A location into which the result is stored. If provided, it must have the same shape as the expected output.
  • ddof (optional): Delta Degrees of Freedom. The divisor used in the calculation is N - ddof, where N is the number of elements. Default is 0.
  • keepdims (optional): If True, the reduced dimensions are retained as dimensions of size one in the output. Default is False.
  • where(optional): The elements that to be included in the standard deviation
  • mean(optional): It provide's the mean to prevent its re-calculation. The mean should have a shape as if it was calculated with keepdims=True. The axis for the calculation of the mean should be the same as used in the call to this std function.
  • correction(optional): This function calculates the standard deviation of elements in an array, measuring the dispersion or spread of data around the mean, with options to compute along specified axes, apply degrees of freedom (`ddof`), and retain dimensions.

Return Values

This function returns the standard deviation of the input array. The result is a scalar if the input is one-dimensional, and an array if the input is multi-dimensional.

Example

Following is a basic example to compute the standard deviation of an array using the NumPy std() function −

import numpy as np
# input array
x = np.array([1, 2, 3, 4, 5])
# applying std
result = np.std(x)
print("Standard Deviation Result:", result)

Output

Following is the output of the above code −

Standard Deviation Result: 1.4142135623730951

Example: Specifying an Axis

The std() function can compute the standard deviation along a specific axis of a multi-dimensional array. In the following example, we have computed the standard deviation along axis 0 (columns) and axis 1 (rows) of a 2D array −

import numpy as np
# 2D array
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# applying std along axis 0 (columns)
result_axis0 = np.std(x, axis=0)
# applying std along axis 1 (rows)
result_axis1 = np.std(x, axis=1)
print("Standard Deviation along axis 0:", result_axis0)
print("Standard Deviation along axis 1:", result_axis1)

Output

Following is the output of the above code −

Standard Deviation along axis 0: [2.44948974 2.44948974 2.44948974]
Standard Deviation along axis 1: [0.81649658 0.81649658 0.81649658]

Example: Usage of 'ddof' Parameter

The ddof(Delta Degrees of Freedom) parameter allows us to adjust the degrees of freedom for the calculation. By default, ddof=0, but we can set it to a different value to change the divisor used in the calculation. In the following example, we have computed the standard deviation with ddof=1

import numpy as np
# input array
x = np.array([1, 2, 3, 4, 5])
# applying std with ddof=1
result = np.std(x, ddof=1)
print("Standard Deviation with ddof=1:", result)

Output

Following is the output of the above code −

Standard Deviation with ddof=1: 1.5811388300841898

Example: Plotting 'std()' Function

In the following example, we have plotted the behavior of the std() function. We have calculated and plotted the standard deviation for different sizes of input arrays by importing Numpy and matplotlib.pyplot module −

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = np.std(x)
plt.plot(x, np.full_like(x, y), label="Standard Deviation")
plt.title("Standard Deviation Function")
plt.xlabel("Input")
plt.ylabel("Standard Deviation Value")
plt.legend()
plt.grid()
plt.show()

Output

The plot demonstrates the constant nature of the standard deviation value across the input range −

Standard Deviation Visualization
numpy_statistical_functions.htm
Advertisements