w3resource

How to reshape arrays and perform element-wise addition using NumPy?


NumPy: Broadcasting Exercise-18 with Solution


Given two 1D arrays a of shape (8,) and b of shape (4,), write a NumPy program to reshape them and perform element-wise addition using broadcasting to get a 2D array of shape (8, 4).

Sample Solution:

Python Code:

import numpy as np

# Create 1D array a of shape (8,)
a = np.array([1, 2, 3, 4, 5, 6, 7, 8])

# Create 1D array b of shape (4,)
b = np.array([10, 20, 30, 40])

# Reshape array a to (8, 1) to enable broadcasting
a_reshaped = a[:, np.newaxis]

# Perform element-wise addition using broadcasting
result = a_reshaped + b

print(result)

Output:

[[11 21 31 41]
 [12 22 32 42]
 [13 23 33 43]
 [14 24 34 44]
 [15 25 35 45]
 [16 26 36 46]
 [17 27 37 47]
 [18 28 38 48]]

Explanation:

  • Import NumPy: Import the NumPy library to handle array operations.
  • Create 1D array a: Define a 1D array a with shape (8,).
  • Create 1D array b: Define a 1D array b with shape (4,).
  • Reshape a: Reshape array a to (8, 1) to enable broadcasting.
  • Element-wise Addition: Add the reshaped array a and array b using broadcasting to get a 2D array of shape (8, 4).
  • Print Result: Print the resulting array.

Python-Numpy Code Editor: