NumPy: Count a given word in each row of a array of string values

NumPy String: Exercise-21 with Solution

Write a NumPy program to count a given word in each row of a given array of string values.

Sample Solution:

Python Code:

import numpy as np 

str1 = np.array([['Python','NumPy','Exercises'],
                 ['Python','Machine learning','Python']])
print("Original array of string values:") 
print("\nCount 'Python' row wise in the above array of string values:")
print(np.char.count(str1, 'Python'))

Sample Output:

Original array of string values:
[['Python' 'NumPy' 'Exercises']
 ['Python' 'Pandas' 'Exercises']
 ['Python' 'Machine learning' 'Python']]

Count 'Python' row wise in the above array of string values:
[[1 0 0]
 [1 0 0]
 [1 0 1]]

Python Code Editor:

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

Previous: Write a NumPy program to replace a specific character with another in a given array of string values.
Next: Write a NumPy program to split a given text into lines and split the single line into array values.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz

Python: Tips of the Day

Getting the last element of a list:

some_list[-1] is the shortest and most Pythonic.

In fact, you can do much more with this syntax. The some_list[-n] syntax gets the nth-to-last element. So some_list[-1] gets the last element, some_list[-2] gets the second to last, etc, all the way down to some_list[-len(some_list)], which gives you the first element.

You can also set list elements in this way. For instance:

>>> some_list = [1, 2, 3]
>>> some_list[-1] = 5 # Set the last element
>>> some_list[-2] = 3 # Set the second to last element
>>> some_list
[1, 3, 5]

Note that getting a list item by index will raise an IndexError if the expected item doesn't exist. This means that some_list[-1] will raise an exception if some_list is empty, because an empty list can't have a last element.

Ref: https://bit.ly/3d8TfFP