w3resource

NumPy: Transform a given array


Create Zero-Filled Array (5x6)

Write a NumPy program to create a new array of given shape (5,6) and type, filled with zeros.
Change the said array in the following format:

Given array:
[[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]]
New array:
[[3 0 3 0 3 0]
[7 0 7 0 7 0]
[3 0 3 0 3 0]
[7 0 7 0 7 0]
[3 0 3 0 3 0]]

This problem involves writing a NumPy program to create a new array with a specified shape (5,6) and data type, filled entirely with zeros. The task requires utilizing NumPy's array creation capabilities, such as the numpy.zeros function, to efficiently generate the array with the desired shape and type. By specifying the shape and type parameters, the program ensures the creation of a zero-filled array tailored to the specified dimensions and data type requirements.

Sample Solution:

Python Code :

# Importing the NumPy library with an alias 'np'
import numpy as np

# Creating a NumPy array 'nums' with shape (5, 6) filled with zeros of integer type
nums = np.zeros(shape=(5, 6), dtype='int')

# Printing a message indicating the original array
print("Original array:")
print(nums)

# Assigning value 3 to every alternate row and column starting from index 0
nums[::2, ::2] = 3

# Assigning value 7 to every alternate row starting from index 1 and every column starting from index 0
nums[1::2, ::2] = 7

# Printing the updated array after assigning values 3 and 7
print("\nNew array:")
print(nums) 

Output:

Original array:
[[0 0 0 0 0 0]
 [0 0 0 0 0 0]
 [0 0 0 0 0 0]
 [0 0 0 0 0 0]
 [0 0 0 0 0 0]]

New array:
[[3 0 3 0 3 0]
 [7 0 7 0 7 0]
 [3 0 3 0 3 0]
 [7 0 7 0 7 0]
 [3 0 3 0 3 0]]

Explanation:

In the above code –

np.zeros(shape=(5, 6), dtype='int') creates a 5x6 2D array filled with zeros of integer type and stores in the variable ‘nums’

nums[::2, ::2] = 3: This line sets every second element in every second row, starting from the first row (0-th index), to the value 3.

nums[1::2, ::2] = 7: This line sets every second element in every second row, starting from the second row (1-st index), to the value 7.

Python-Numpy Code Editor: