Zuckerbrenner
Zuckerbrenner

Reputation: 335

nested operations on two numpy arrays, one 2d and one 1d

Say I have one 2d numpy array X with shape (3,3) and one numpy array Y with shape (3,) where

    X = np.array([[0,1,2],
                  [3,4,5],
                  [1,9,2]])
    Y = np.array([[1,0,1]])

How can I create a numpy array, Z for example, from multiplying X,Y element-wise and then summation row-wise?

   multiplying element-wise would yield: 0,0,2, 3,0,5, 1,0,2
   then, adding each row would yield:
   Z = np.array([2,8,3]) 

I have tried variations of

   Z = np.sum(X * Y) --> adds all elements of entire array, not row-wise.

I know I can use a forloop but the dataset is very large and so I am trying to find a more efficient numpy-specific way to perform the operation. Is this possible?

Upvotes: 0

Views: 74

Answers (1)

shuvo
shuvo

Reputation: 1956

You can do the following:

sum_row = np.sum(X*Y, axis=1) # axis=0 for columnwise

Upvotes: 2

Related Questions