Hello, Space Voyager! Today we're focusing on Array Shape and Reshape in NumPy
. Understanding an array's shape is like knowing the size of a box—it tells us how we can manipulate it. Meanwhile, reshaping an array is like changing a box's dimensions to meet our needs.
The shape of an array is its dimensions, which are the sizes along each of its axes. Thus, understanding an array's shape helps us comprehend its structure. The concept of reshaping allows us to adjust the array's dimensions.
NumPy
provides an easy way to find an array's shape with the shape
attribute. It's like getting the length of a list of toys in a box, which is the total number of toys, or the size of our array.
Python1# An array of toys 2toys = np.array(['teddy bear', 'robot', 'doll', 'ball', 'yo-yo']) 3 4# Print the number of toys 5print("Number of toys:", toys.shape) # Number of toys: (5,)
With a 2D array, the shape
attribute returns a pair of numbers: the number of rows and columns.
Python1# Our toys divided into two boxes 2toys_boxes = np.array([['teddy bear', 'robot', 'car'], ['doll', 'ball', 'yo-yo']]) 3 4# Print the shape of the toy boxes 5print("Shape of toy boxes:", toys_boxes.shape) # Shape of toy boxes: (2, 3)
With NumPy
's reshape
method, we can flexibly change an array's shape without altering its data.
Python1import numpy as np 2# An array of toys 3toys = np.array(['teddy bear', 'robot', 'doll', 'ball', 'yo-yo', 'car']) 4 5# Reshape the array 6toys_boxes = toys.reshape(3, 2) 7 8# Print the reshaped array 9print(toys_boxes) 10# [['teddy bear' 'robot'] 11# ['doll' 'ball'] 12# ['yo-yo' 'car']]
Reshaping arrays can be powerful in real-life scenarios. For example, if we're arranging alphabet blocks into a grid for a word puzzle, or if we're organizing family age data from a 1D array into a 2D array of generations and siblings. Here is the first example in code:
Python1# Let's create a list of alphabet blocks 2blocks = np.array(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']) 3 4# Reshape it into a 3x3 grid 5puzzle = blocks.reshape(3, 3) 6 7# Print the puzzle 8print(puzzle) 9# [['A' 'B' 'C'] 10# ['D' 'E' 'F'] 11# ['G' 'H' 'I']]
Well done, coder! You learned about array shape and reshaping in NumPy
, practiced with real examples, and solidified your understanding. Now, let's strengthen this knowledge with hands-on practice exercises. Remember, real coding can't be learned by watching. So, get ready for some coding!