Bird
Raised Fist0
Data Analysis Pythondata~5 mins

Array shapes and dimensions in Data Analysis Python

Choose your learning style10 modes available
Introduction

We use array shapes and dimensions to understand the size and structure of data. This helps us organize and analyze data correctly.

When checking if data fits together for calculations
When reshaping data to prepare for analysis
When debugging errors caused by mismatched data sizes
When summarizing data to understand its layout
When visualizing data to know how many axes to plot
Syntax
Data Analysis Python
import numpy as np

# Create an array
array = np.array([[1, 2, 3], [4, 5, 6]])

# Get the shape of the array
shape = array.shape

# Get the number of dimensions
dimensions = array.ndim

shape returns a tuple showing the size in each dimension.

ndim returns an integer showing how many dimensions the array has.

Examples
Empty array has shape (0,) and 1 dimension.
Data Analysis Python
import numpy as np

empty_array = np.array([])
print(empty_array.shape)  # Output: (0,)
print(empty_array.ndim)   # Output: 1
Array with one element has shape (1,) and 1 dimension.
Data Analysis Python
import numpy as np

one_element_array = np.array([42])
print(one_element_array.shape)  # Output: (1,)
print(one_element_array.ndim)   # Output: 1
2D array (matrix) with 2 rows and 3 columns.
Data Analysis Python
import numpy as np

matrix = np.array([[1, 2, 3], [4, 5, 6]])
print(matrix.shape)  # Output: (2, 3)
print(matrix.ndim)   # Output: 2
3D array (tensor) with shape showing 3 dimensions.
Data Analysis Python
import numpy as np

tensor = np.array([[[1], [2]], [[3], [4]]])
print(tensor.shape)  # Output: (2, 2, 1)
print(tensor.ndim)   # Output: 3
Sample Program

This program creates arrays with different shapes and dimensions. It prints their shapes and number of dimensions to show how data structure changes.

Data Analysis Python
import numpy as np

# Create different arrays
empty_array = np.array([])
one_element_array = np.array([42])
matrix = np.array([[1, 2, 3], [4, 5, 6]])
tensor = np.array([[[1], [2]], [[3], [4]]])

# Print shapes and dimensions
print(f"Empty array shape: {empty_array.shape}, dimensions: {empty_array.ndim}")
print(f"One element array shape: {one_element_array.shape}, dimensions: {one_element_array.ndim}")
print(f"Matrix shape: {matrix.shape}, dimensions: {matrix.ndim}")
print(f"Tensor shape: {tensor.shape}, dimensions: {tensor.ndim}")
OutputSuccess
Important Notes

Time complexity to get shape or ndim is O(1) because it is stored as metadata.

Space complexity is not affected by accessing shape or ndim.

Common mistake: Confusing shape (size in each dimension) with total number of elements.

Use shape and ndim to check if arrays can be combined or reshaped safely.

Summary

Array shape tells how many elements are in each dimension.

Number of dimensions shows how many axes the data has.

Knowing shape and dimensions helps organize and analyze data correctly.

Practice

(1/5)
1. What does the shape of a NumPy array represent?
easy
A. The number of elements along each dimension
B. The total number of elements in the array
C. The data type of the elements
D. The memory size of the array

Solution

  1. Step 1: Understand the meaning of shape

    The shape of an array is a tuple that shows how many elements are in each dimension.
  2. Step 2: Differentiate shape from other properties

    Shape is not the total count, data type, or memory size, but the size per dimension.
  3. Final Answer:

    The number of elements along each dimension -> Option A
  4. Quick Check:

    Shape = elements per dimension [OK]
Hint: Shape = count of elements per axis [OK]
Common Mistakes:
  • Confusing shape with total number of elements
  • Mixing shape with data type
  • Thinking shape is memory size
2. Which of the following is the correct way to get the shape of a NumPy array arr?
easy
A. arr.shape
B. arr.shape()
C. shape(arr)
D. arr.get_shape()

Solution

  1. Step 1: Recall NumPy shape syntax

    In NumPy, shape is an attribute, not a method, so no parentheses are used.
  2. Step 2: Check each option

    arr.shape uses arr.shape correctly; others use incorrect syntax or functions.
  3. Final Answer:

    arr.shape -> Option A
  4. Quick Check:

    Use attribute, no parentheses [OK]
Hint: Use arr.shape without parentheses [OK]
Common Mistakes:
  • Adding parentheses after shape
  • Using non-existent functions like get_shape()
  • Trying to call shape as a function
3. Given the code:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.shape)

What is the output?
medium
A. (3, 2)
B. (6,)
C. (2, 3)
D. (2,)

Solution

  1. Step 1: Analyze the array structure

    The array has 2 rows and 3 columns, so shape is (2, 3).
  2. Step 2: Confirm shape output

    Printing arr.shape returns the tuple (2, 3).
  3. Final Answer:

    (2, 3) -> Option C
  4. Quick Check:

    Rows=2, Columns=3 -> (2, 3) [OK]
Hint: Count rows then columns for shape [OK]
Common Mistakes:
  • Swapping rows and columns in shape
  • Thinking shape is total elements
  • Confusing shape with array size
4. What is wrong with this code snippet?
import numpy as np
arr = np.array([1, 2, 3])
print(arr.shape())
medium
A. print statement syntax is incorrect
B. arr is not a NumPy array
C. The array is empty
D. shape is an attribute, not a method; parentheses cause error

Solution

  1. Step 1: Identify the error source

    The code calls arr.shape() with parentheses, but shape is an attribute.
  2. Step 2: Understand attribute vs method

    Attributes do not use parentheses; calling with () causes a TypeError.
  3. Final Answer:

    shape is an attribute, not a method; parentheses cause error -> Option D
  4. Quick Check:

    Attributes no parentheses [OK]
Hint: Remember: shape is attribute, no () [OK]
Common Mistakes:
  • Using parentheses with shape
  • Assuming array is empty causes error
  • Misreading print syntax
5. You have a 3D NumPy array with shape (4, 3, 2). Which of the following operations will correctly reshape it into a 2D array with 4 rows and 6 columns?
hard
A. arr.reshape(12, 2)
B. arr.reshape(4, 6)
C. arr.reshape(6, 4)
D. arr.reshape(2, 12)

Solution

  1. Step 1: Calculate total elements

    Original shape (4, 3, 2) means 4*3*2 = 24 elements total.
  2. Step 2: Determine new shape dimensions

    New shape (4, 6) means 4*6 = 24 elements, matching total elements.
  3. Step 3: Verify other options

    arr.reshape(12, 2), arr.reshape(6, 4), and arr.reshape(2, 12) do not produce 4 rows and 6 columns.
  4. Final Answer:

    arr.reshape(4, 6) -> Option B
  5. Quick Check:

    4*6=24 matches total elements [OK]
Hint: New shape must keep total elements same [OK]
Common Mistakes:
  • Mixing up rows and columns in reshape
  • Choosing shapes with wrong total elements
  • Forgetting reshape must keep total size
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard