w3resource

NumPy: Extract all the rows from a given array where a specific column starts with a given character

NumPy: Array Object Exercise-204 with Solution

Write a NumPy program to extract all the rows from a given array where a specific column starts with a given character.

Sample array:
[['01' 'V' 'Debby Pramod']
['02' 'V' 'Artemiy Ellie']
['03' 'V' 'Baptist Kamal']
['04' 'V' 'Lavanya Davide']
['05' 'V' 'Fulton Antwan']
['06' 'V' 'Euanthe Sandeep']
['07' 'V' 'Endzela Sanda']
['08' 'V' 'Victoire Waman']
['09' 'V' 'Briar Nur']
['10' 'V' 'Rose Lykos']]

Sample Solution:

Python Code:

import numpy as np
np.set_printoptions(linewidth=100)
student =  np.array([['01', 'V', 'Debby Pramod'],
 ['02', 'V', 'Artemiy Ellie'],
 ['03', 'V', 'Baptist Kamal'],
 ['04', 'V', 'Lavanya Davide'],
 ['05', 'V', 'Fulton Antwan'],
 ['06', 'V', 'Euanthe Sandeep'],
 ['07', 'V', 'Endzela Sanda'],
 ['08', 'V', 'Victoire Waman'],
 ['09', 'V', 'Briar Nur'],
 ['10', 'V', 'Rose Lykos']])
print("Original array:")
print(student)
char='E'
result = student[np.char.startswith(student[:,2], char)]
print("\nStudent name starting with",char,":")
print(result)
char='1'
result = student[np.char.startswith(student[:,0], char)]
print("\nStudent id starting with",char,":")
print(result)

Sample Output:

Original array:
[['01' 'V' 'Debby Pramod']
 ['02' 'V' 'Artemiy Ellie']
 ['03' 'V' 'Baptist Kamal']
 ['04' 'V' 'Lavanya Davide']
 ['05' 'V' 'Fulton Antwan']
 ['06' 'V' 'Euanthe Sandeep']
 ['07' 'V' 'Endzela Sanda']
 ['08' 'V' 'Victoire Waman']
 ['09' 'V' 'Briar Nur']
 ['10' 'V' 'Rose Lykos']]

Student name starting with E :
[['06' 'V' 'Euanthe Sandeep']
 ['07' 'V' 'Endzela Sanda']]

Student id starting with 1 :
[['10' 'V' 'Rose Lykos']]

Python Code Editor:

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

Previous: Write a NumPy program to create a 11x3 array filled with student information (id, class and name) and shuffle the said array rows starting from 3rd to 9th.
Next: Write a NumPy program to extract all the rows to compute the student weight from a given array (student information) where a specific column starts with a given character.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Set comprehension:

>>> m = {x ** 2 for x in range(5)}
>>> m
{0, 1, 4, 9, 16}