Home > Enterprise >  Array mean iteration
Array mean iteration

Time:12-13

My question pertains to array iteration but is a bit more complicated. You see I have an array with a shape of (4, 50). What I want to do is find the mean of the arrays. I will show a simple explanation of what I mean

A = np.array([[10,5,3],[12,6,6],[9,8,7],[20,3,4]])

When this code is run, you get an array with a shape of (4,3). What I want is for the mean of each row to be found and returned. Returned should be an array of ([[6],[8],[8],[9]]) with the same rows and naturally a column of 1.

Please explain the code and thought process behind it. Thank you very much.

CodePudding user response:

Use the numpy.mean function. Parameter axis=1 means that the row-wise mean will be calculated. Parameter keepdims=True means that original array dimensions are kept.

import numpy as np

A = np.array([[10,5,3],[12,6,6],[9,8,7],[20,3,4]])

B = np.mean(A, axis=1, keepdims=True)

print(B)
# Output:
# [[6.]
#  [8.]
#  [8.]
#  [9.]]

CodePudding user response:

Use np.mean and list comprehension into a new array:

A = np.array([[10,5,3],[12,6,6], [9,8,7],[20,3,4]])

# Use .reshape() to get 4 rows by 1 column.
new_A = np.array([np.mean(row) for row in A]).reshape(-1, 1)

Output:

array([[6.], [8.], [8.], [9.]])
  • Related