Averaging over every N elements of a Numpy Array - GeeksforGeeks

16 May, 2021
In this article, we will learn how to find the average over every n element of a NumPy array. For doing our task, we will some inbuilt methods provided by NumPy module which are as follows:
numpy.average() to calculate the average i.e the sum of all the numbers divided by the number of elements
numpy.reshape() to reshape the array taking n elements at a time without changing the original data
numpy.mean() to calculate the average as mean is nothing but the sum of elements divided by the number of elements
Example 1: Average over a 1-D array
Python3
import numpy as np  # converting list to numpy arraygivenArray = np.array([6, 5, 4, 3, 2, 1, 9,                       8, 7, 12, 11, 10, 15,                        14, 13])  # here we took 3 as our inputn = 3  # calculates the averageavgResult = np.average(givenArray.reshape(-1, n), axis=1)  print("Given array:")print(givenArray)  print("Averaging over every ", n, " elements of a numpy array:")print(avgResult)
Output:
Note: N should be an integer multiple of the size of 1d array. 
Example 2: Average over a 1-D array(Row-wise)
Here we have taken an array of dimensions (5,3) i.e it has 5 rows and 3 columns. Since the axis=1, it will reshape the elements in groups of n and then calculate the average row-wise using axis=1.
Python3
import numpy as np  # converting list to numpy arraygivenArray = np.array([[60, 50, 40], [30, 20, 10], [90, 80,70],                       [120, 110, 100], [150, 140, 130]])  # here we took 5 as our inputn = 5  # calculates the averageavgResult = np.average(givenArray.reshape(-1, n), axis=1)  print("Given array:")print(givenArray, "\n")  print("Dimensions of given array:", givenArray.shape, "\n")  print("Averaging over every ", n, " elements of a numpy array:")print(avgResult)
Output:
Example 3: Average over a 1-D array(Column-wise)
Remember we need to give the axis=1 only then it can group elements row-wise starting from the 0th index. Now if we change the axis value to 0, then after reshaping in groups of n, it will perform the average operation column-wise as given below which will not give us the desired result. It is best if we want to calculate the average column-wise.
Python3
import numpy as np  # converting list to numpy arraygivenArray = np.array([[60, 50, 40], [30, 20, 10], [90, 80, 70],                       [120, 110, 100], [150, 140, 130]])  # here we will calculate average# over every 5 elementsn = 5  # calculates the averageavgResult = np.average(givenArray.reshape(-1, n), axis=0)  print("Given array:")print(givenArray, "\n")  print("Dimensions of given array:", givenArray.shape, "\n")  print("Averaging over every ", n, " elements of a numpy array:")print(avgResult)
After reshaping the 2D array it looks like below:
Then performing the average column wise we get the answer.
Output:
Example 4: Average over a 1-D array(Column-wise without reshaping)
Note here that taking axis=0 we cannot perform the average row-wise over every n element. It will just calculate the average of each column separately. The below code will calculate the average over every column element.
Python3
import numpy as np# converting list to numpy arraygivenArray = np.array([[60, 50, 40], [30, 20, 10], [90, 80,70],                       [120, 110, 100], [150, 140, 130]])  # here we will calculate average over# every 5 elementsn = 5  # calculates the averageavgResult1 = givenArray.mean(axis=0)  print("Given array:")print(givenArray, "\n")  print("Dimensions of given array:", givenArray.shape, "\n")  print("Averaging over every ", n, " elements of a numpy array:")print(avgResult1)
Output:
Picked
Python numpy-Mathematical Function
Python-numpy
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Python OOPs Concepts
How to Install PIP on Windows ?
Bar Plot in Matplotlib
Defaultdict in Python
Python Classes and Objects
Deque in Python
Check if element exists in list in Python
How to drop one or multiple columns in Pandas Dataframe
Python - Ways to remove duplicates from list
Class method vs Static method in Python