Structured arrays help organize different types of data together in one table. This makes it easy to work with complex data like records or mixed information.
Practical uses of structured arrays in NumPy
import numpy as np # Define a structured array with fields structured_array = np.array([ ('Alice', 25, 88.5), ('Bob', 30, 92.0), ('Charlie', 22, 79.5) ], dtype=[('name', 'U10'), ('age', 'i4'), ('score', 'f4')])
The dtype defines the fields: name (string), age (integer), score (float).
Each element is a tuple matching the fields in order.
import numpy as np # Empty structured array with 3 fields empty_array = np.array([], dtype=[('name', 'U10'), ('age', 'i4'), ('score', 'f4')]) print(empty_array)
import numpy as np # Structured array with one element one_element = np.array([('Diana', 28, 85.0)], dtype=[('name', 'U10'), ('age', 'i4'), ('score', 'f4')]) print(one_element)
import numpy as np # Accessing a field print(one_element['name'])
import numpy as np # Sorting by age sorted_array = np.sort(one_element, order='age') print(sorted_array)
This program creates a structured array of students with their names, ages, and scores. It shows how to access a single field, filter by age, and sort by score.
import numpy as np # Create a structured array with fields: name, age, score students = np.array([ ('Alice', 25, 88.5), ('Bob', 30, 92.0), ('Charlie', 22, 79.5), ('Diana', 28, 85.0) ], dtype=[('name', 'U10'), ('age', 'i4'), ('score', 'f4')]) print("Original array:") print(students) # Access the 'age' field ages = students['age'] print("\nAges:") print(ages) # Filter students older than 25 older_students = students[students['age'] > 25] print("\nStudents older than 25:") print(older_students) # Sort students by score sorted_by_score = np.sort(students, order='score') print("\nStudents sorted by score:") print(sorted_by_score)
Time complexity for accessing fields is O(1) because fields are stored separately.
Filtering and sorting depend on the number of elements, typically O(n) for filtering and O(n log n) for sorting.
Common mistake: forgetting to define the dtype properly, which causes errors or wrong data types.
Use structured arrays when you want to keep related data together but with different types, instead of separate arrays.
Structured arrays store mixed data types in one array with named fields.
They make it easy to access, filter, and sort complex data.
Useful for handling tabular data like records or datasets with different types.