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
- Iterating Over 2D Arrays
- Iterating Over Multi-Dimensional Arrays
- Key Takeaways
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: 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: [ 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: 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.