w3resource

NumPy: From given student name, height, and class sort the array on height


Write a NumPy program to create a structured array from given student name, height, class and their data types. Now sort the array on height.

Sample Solution:

Python Code:

# Importing the NumPy library
import numpy as np

# Defining the data types for the structured array
data_type = [('name', 'S15'), ('class', int), ('height', float)]

# Defining the details of students as a list of tuples
students_details = [('James', 5, 48.5), ('Nail', 6, 52.5), ('Paul', 5, 42.10), ('Pit', 5, 40.11)]

# Creating a structured array 'students' using the defined data type and provided details
students = np.array(students_details, dtype=data_type)

# Displaying the original structured array
print("Original array:")
print(students)

# Sorting the structured array by 'height' field
print("Sort by height")
print(np.sort(students, order='height'))   

Sample Output:

Original array:
[(b'James', 5, 48.5 ) (b'Nail', 6, 52.5 ) (b'Paul', 5, 42.1 )
 (b'Pit', 5, 40.11)]
Sort by height
[(b'Pit', 5, 40.11) (b'Paul', 5, 42.1 ) (b'James', 5, 48.5 )
 (b'Nail', 6, 52.5 )]

Explanation:

In the above code –

data_type = [('name', 'S15'), ('class', int), ('height', float)]: This statement defines a custom data type data_type with three fields: 'name' (a string with a maximum length of 15 characters), 'class' (an integer), and 'height' (a float).

students_details = [('James', 5, 48.5), ('Nail', 6, 52.5),('Paul', 5, 42.10), ('Pit', 5, 40.11)]: This statement creates a list of tuples, where each tuple contains the details of a student (name, class, and height).

students = np.array(students_details, dtype=data_type): This statement creates a structured Numpy array students using the custom data type data_type. It assigns the elements of students_details to the corresponding fields in the array.

print(np.sort(students, order='height')): This statement sorts the students array based on the 'height' field in ascending order and prints the result.

Pictorial Presentation:

NumPy: From given student name, height, and class   sort the array on height.

Python-Numpy Code Editor: