Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Python by (47.6k points)

In Python, I have an ndarray y that is printed as array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1])

I'm trying to count how many 0s and how many 1s are there in this array.

But when I type y.count(0) or y.count(1), it says

numpy.ndarray object has no attribute count

What should I do?

2 Answers

0 votes
by (106k points)

You can use the below-mentioned piece of code to count the occurrence of certain item in an ndarray in Python:-

a = numpy.array([0, 3, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 4]) 

unique, counts = numpy.unique(a, return_counts=True)

dict(zip(unique, counts))

You can refer to our Python online course for more information. 

0 votes
by (3.1k points)

We can either use count_nonzero or where with len function to count the occurenece of a certain item in a Numbpy ndarray in Python.

Below is the example using both functions:
 

import numpy as np

arr = np.array([1, 2, 3, 1, 4, 1, 5])

item_to_count = 1 

count = np.count_nonzero(arr == item_to_count)

print(f"The number 1 occurs {count} times -- Using count_nonzero function")

count2 = len(np.where(arr == item_to_count)[0])

Print(f”The number 1 occurs {count2} times -- Using where function”)

Output:

The number 1 occurs 3 times -- Using count_nonzero function

The number 1 occurs 3 times -- Using where function

Related questions

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...