w3resource

Iterate over records in NumPy Structured array

NumPy: Structured Arrays Exercise-16 with Solution

Iterating Over Records:

Write a NumPy program that iterates over each record in the structured array created with fields for 'name' (string), 'age' (integer), and 'height' (float) and prints the 'name' and 'height' fields.

Sample Solution:

Python Code:

import numpy as np

# Define the data type for the structured array
dtype = [('name', 'U10'), ('age', 'i4'), ('height', 'f4')]

# Create the structured array with sample data
structured_array = np.array([
    ('Lehi Piero', 25, 5.5),
    ('Albin Achan', 30, 5.8),
    ('Zerach Hava', 35, 6.1),
    ('Edmund Tereza', 40, 5.9),
    ('Laura Felinus', 28, 5.7)
], dtype=dtype)

print("Original structured array: ",structured_array)
# Iterate over each record in the structured array and print 'name' and 'height'
for record in structured_array:
    print(f"Name: {record['name']}, Height: {record['height']}")

Output:

Original structured array:  [('Lehi Piero', 25, 5.5) ('Albin Acha', 30, 5.8) ('Zerach Hav', 35, 6.1)
 ('Edmund Ter', 40, 5.9) ('Laura Feli', 28, 5.7)]
Name: Lehi Piero, Height: 5.5
Name: Albin Acha, Height: 5.800000190734863
Name: Zerach Hav, Height: 6.099999904632568
Name: Edmund Ter, Height: 5.900000095367432
Name: Laura Feli, Height: 5.699999809265137

Explanation:

  • Import Libraries:
    • Imported numpy as "np" for array creation and manipulation.
  • Define Data Type:
    • Define the data type for the structured array using a list of tuples. Each tuple specifies a field name and its corresponding data type. The data types are:
      • 'U10' for a string of up to 10 characters.
      • 'i4' for a 4-byte integer.
      • 'f4' for a 4-byte float.
  • Create a Structured Array:
    • Created the structured array using np.array(), providing sample data for five individuals. Each individual is represented as a tuple with values for 'name', 'age', and 'height'.
  • Iterate Over Records:
    • Iterate over each record in the structured array using a for loop.
    • Print the 'name' and 'height' fields of each record.

Python-Numpy Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Save NumPy Structured array to a file.
Next: Create Structured array with nested fields in NumPy.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.