NumPy Array Iterating

Iterating over arrays in NumPy allows you to process elements efficiently. It supports iteration for 1D, 2D, and multi-dimensional arrays, making it essential for data analysis tasks like calculating averages or aggregating data from cities such as Chennai (Tamil Nadu, India) and Hyderabad (Telangana, India).

Key Topics

Iterating Over 1D Arrays

Iteration over a 1D array is similar to looping through a Python list. This is often used for simple aggregations, such as summing the temperatures of historic cities.

Example

# Iterating over a 1D array
import numpy as np

temperatures = np.array([29, 31, 30, 32])
for temp in temperatures:
    print("Temperature:", temp)

Output

Temperature: 29
Temperature: 31
Temperature: 30
Temperature: 32

Explanation: Each element in the array is accessed sequentially using a for loop, allowing operations on individual elements.

Iterating Over 2D Arrays

When iterating over a 2D array, each iteration returns a 1D array representing a row. This is useful for processing tabular data like rainfall in Madurai (Tamil Nadu, India) and Pune (Maharashtra, India).

Example

# Iterating over a 2D array
rainfall = np.array([[120, 150], [90, 110], [100, 130]])
for row in rainfall:
    print("Row:", row)

Output

Row: [120 150]
Row: [ 90 110]
Row: [100 130]

Explanation: Each iteration retrieves a row as a 1D array, allowing operations on row-level data.

Iterating Over Multi-Dimensional Arrays

For multi-dimensional arrays, NumPy provides the nditer() function, which iterates over each element efficiently.

Example

# Iterating over a multi-dimensional array
sales = np.array([[[500, 600], [700, 800]], [[400, 300], [200, 100]]])
for val in np.nditer(sales):
    print("Sale:", val)

Output

Sale: 500
Sale: 600
Sale: 700
Sale: 800
Sale: 400
Sale: 300
Sale: 200
Sale: 100

Explanation: The nditer() function iterates over each element in a multi-dimensional array, flattening it for iteration purposes.

Key Takeaways

  • 1D Iteration: Simple and similar to Python list iteration.
  • 2D Iteration: Returns rows as 1D arrays for further processing.
  • Multi-Dimensional Iteration: Use nditer() to iterate efficiently over all elements.
  • Real-World Applications: Analyze data from cities like Chennai, Hyderabad, Madurai, and Pune using iteration techniques.