w3resource

Optimizing Standard Deviation calculation of large NumPy arrays

NumPy: Performance Optimization Exercise-5 with Solution

Write a NumPy program to create a large NumPy array and write a function to calculate the standard deviation of its elements using a for loop. Optimize it using NumPy's built-in functions.

Sample Solution:

Python Code:

import numpy as np
# Create a large NumPy array with 1 million elements
large_array = np.random.rand(1_000_000)

# Function to calculate the standard deviation using a for loop
def std_dev_using_loop(array):
    mean = np.mean(array)
    variance = 0.0
    for element in array:
        variance += (element - mean) ** 2
    variance /= len(array)
    return np.sqrt(variance)

# Calculate the standard deviation using the for loop
std_loop = std_dev_using_loop(large_array)
print("Standard deviation using for loop:", std_loop)

# Optimize the standard deviation calculation using NumPy's built-in function
std_numpy = np.std(large_array)
print("Standard deviation using NumPy's built-in function:", std_numpy)

Output:

Standard deviation using for loop: 0.28867104907380803
Standard deviation using NumPy's built-in function: 0.288671049073815

Explanation:

  • Create a large array: A 1D NumPy array with 1 million elements is created using np.random.rand().
  • Function with for loop: A function std_dev_using_loop calculates the standard deviation of the array elements using a for loop.
  • Calculate standard deviation with for loop: The standard deviation is calculated using the for loop and printed.
  • Optimize with NumPy: The standard deviation calculation is optimized using NumPy's built-in np.std() function and printed.

Python-Numpy Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Optimizing row-wise Mean calculation of large NumPy arrays.
Next: Optimizing Transposition of large NumPy arrays.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/python-exercises/numpy/optimizing-standard-deviation-calculation-of-large-numpy-arrays.php