Hướng dẫn how do you count the number of times a number appears in an array python? - làm thế nào để bạn đếm số lần một số xuất hiện trong một chuỗi python?

Dưới đây là ba giải pháp:

Nhanh nhất là sử dụng một vòng lặp và lưu trữ nó trong một dict.

import time
from collections import Counter


def countElement(a):
    g = {}
    for i in a:
        if i in g: 
            g[i] +=1
        else: 
            g[i] =1
    return g


z = [1,1,1,1,2,2,2,2,3,3,4,5,5,234,23,3,12,3,123,12,31,23,13,2,4,23,42,42,34,234,23,42,34,23,423,42,34,23,423,4,234,23,42,34,23,4,23,423,4,23,4]


#Solution 1 - Faster
st = time.monotonic()
for i in range(1000000):
    b = countElement(z)
et = time.monotonic()
print(b)
print('Simple for loop and storing it in dict - Duration: {}'.format(et - st))

#Solution 2 - Fast
st = time.monotonic()
for i in range(1000000):
    a = Counter(z)
et = time.monotonic()
print (a)
print('Using collections.Counter - Duration: {}'.format(et - st))

#Solution 3 - Slow
st = time.monotonic()
for i in range(1000000):
    g = dict([(i, z.count(i)) for i in set(z)])
et = time.monotonic()
print(g)
print('Using list comprehension - Duration: {}'.format(et - st))

Kết quả

#Solution 1 - Faster
{1: 4, 2: 5, 3: 4, 4: 6, 5: 2, 234: 3, 23: 10, 12: 2, 123: 1, 31: 1, 13: 1, 42: 5, 34: 4, 423: 3}
Simple for loop and storing it in dict - Duration: 12.032000000000153
#Solution 2 - Fast
Counter({23: 10, 4: 6, 2: 5, 42: 5, 1: 4, 3: 4, 34: 4, 234: 3, 423: 3, 5: 2, 12: 2, 123: 1, 31: 1, 13: 1})
Using collections.Counter - Duration: 15.889999999999418
#Solution 3 - Slow
{1: 4, 2: 5, 3: 4, 4: 6, 5: 2, 34: 4, 423: 3, 234: 3, 42: 5, 12: 2, 13: 1, 23: 10, 123: 1, 31: 1}
Using list comprehension - Duration: 33.0

Làm thế nào để bạn đếm sự xuất hiện trong một mảng?

Để đếm các lần xuất hiện của từng phần tử trong một mảng: khai báo một biến lưu trữ một đối tượng trống. Sử dụng cho ... vòng lặp để lặp qua mảng. Mỗi lần lặp, tăng số lượng cho phần tử hiện tại nếu nó tồn tại hoặc khởi tạo số lượng lên 1.

  • Làm thế nào để bạn đếm các giá trị trong một mảng trong Python?
  • Phương thức đếm () được sử dụng để trả về số lần xuất hiện của một giá trị hoặc mục trong một mảng.
  • Sử dụng Bincount () để đếm các lần xuất hiện của một giá trị trong một mảng numpy
  • Chuyển đổi mảng numpy thành danh sách và đếm các sự xuất hiện của một giá trị trong một mảng
  • Nó hoạt động như thế nào?
  • Kết quả [2] chứa các lần xuất hiện của 2 trong mảng
  • Chuyển đổi mảng numpy thành danh sách và đếm các sự xuất hiện của một giá trị trong một mảng
  • Chọn các phần tử từ mảng phù hợp với giá trị và đếm chúng

Làm thế nào để bạn đếm các giá trị trong một mảng trong Python?

Phương thức đếm () được sử dụng để trả về số lần xuất hiện của một giá trị hoặc mục trong một mảng.count_nonzero(arr, axis=None), which returns the count of non zero values in a given numpy array. When the value of axis argument is None, then it returns the count
of non zero values in complete array. But in case you are dealing with multi-dimensional array, then you can use the axis argument to count occurrences of a value along the given axis.

Hãy để hiểu bởi một số ví dụ,

Đếm tất cả các lần xuất hiện của giá trị ‘3, trong một mảng numpy

Khi chúng tôi áp dụng một điều kiện cho mảng numpy như, ARR == 3, sau đó nó áp dụng điều kiện trên mỗi phần tử của mảng và lưu trữ kết quả là giá trị bool trong một mảng mới. Vì thế,arr==3, then it applies the condition on each element of the array and stores the result as bool value in a new array. So,

Quảng cáo

arr==3

Trả về một mảng bool có cùng kích thước với ARR,arr,

[2 3 4 5 3 4 5 3 5 4 7 8 3 6 2]

Mảng bool này chứa các giá trị thực tại các chỉ mục trong đó giá trị là 3 trong mảng ban đầu và sai trong đó giá trị không phải là 3.arr and False where value is not 3.

Bây giờ, nếu chúng ta đếm các giá trị đúng (không 0) trong mảng này, thì chúng ta có thể nhận được số lượng giá trị ‘3, trong mảng.

import numpy as np

arr = np.array([2, 3, 4, 5, 3, 4, 5, 3, 5, 4, 7, 8, 3, 6, 2])


print('Numpy Array:')
print(arr)

# Count occurrence of element '3' in numpy array
count = np.count_nonzero(arr == 3)

print('Total occurences of "3" in array: ', count)

Output:

#Solution 1 - Faster
0

Để có được số lượng, chúng tôi đã sử dụng hàm Count_nonzero ().

Tương tự như giải pháp trên, chúng ta có thể áp dụng một điều kiện cho mảng numpy để chuyển đổi nó thành một mảng bool. Một bool true tương đương với 1 trong python, vì vậy chúng ta có thể thêm thêm các giá trị thực vào mảng để lấy tổng giá trị trong mảng phù hợp với điều kiện. Hãy để sử dụng logic này để đếm tất cả các lần xuất hiện của giá trị ‘3, trong mảng numpy,

#Solution 1 - Faster
1

Output:

#Solution 1 - Faster
0

Nó đã trả lại số lượng của tất cả các lần xuất hiện của 3 trong mảng.

Sử dụng Bincount () để đếm các lần xuất hiện của một giá trị trong một mảng numpy

Trong Python, mô-đun Numpy cung cấp chức năng Numpy.BinCount (ARR), trả về số lượng xuất hiện của mỗi giá trị trong mảng của ints không âm.numpy.bincount(arr), which returns a count of number of occurrences of each value in array of non-negative ints.

Hãy để sử dụng điều này để đếm tất cả các lần xuất hiện của giá trị ‘3 3 trong mảng numpy,

#Solution 1 - Faster
3

Output:

#Solution 1 - Faster
4

Nó đã trả lại số lượng của tất cả các sự cố của 3 trong mảng.

Nó hoạt động như thế nào?

Bincount (ARR), đã trả về một mảng, trong đó phần tử ith chứa sự xuất hiện của I trong mảng. Ví dụ,

  • Kết quả [1] chứa sự xuất hiện của 1 trong mảng
  • Kết quả [2] chứa các lần xuất hiện của 2 trong mảng
  • Kết quả [3] chứa sự xuất hiện của 3 trong mảng

Chuyển đổi mảng numpy thành danh sách và đếm các sự xuất hiện của một giá trị trong một mảng

Chúng ta có thể chuyển đổi mảng numpy thành một danh sách và sau đó sử dụng hàm số () của danh sách để có được số lượng xuất hiện của một phần tử trong đó. Ví dụ,

#Solution 1 - Faster
5

Output:

#Solution 1 - Faster
6

Nó đã trả lại số lượng của tất cả các sự cố của 3 trong mảng.

Nó hoạt động như thế nào?

Bincount (ARR), đã trả về một mảng, trong đó phần tử ith chứa sự xuất hiện của I trong mảng. Ví dụ,

#Solution 1 - Faster
7

Output:

#Solution 1 - Faster
6

Nó đã trả lại số lượng của tất cả các sự cố của 3 trong mảng.

Nó hoạt động như thế nào?

Bincount (ARR), đã trả về một mảng, trong đó phần tử ith chứa sự xuất hiện của I trong mảng. Ví dụ,arr==3, then it applies the condition on each element of the array and stores the result as bool value in a new array. Finally returns a bool array of same size as arr. It contains True where value is 3 in array and False where value is not 3. If we pass the bool array to subscript operator [] of numpy array then, it will select elements from array where bool value is True.

Kết quả [1] chứa sự xuất hiện của 1 trong mảng

Kết quả [2] chứa các lần xuất hiện của 2 trong mảng

Kết quả [3] chứa sự xuất hiện của 3 trong mảng

#Solution 1 - Faster
9

Output:

{1: 4, 2: 5, 3: 4, 4: 6, 5: 2, 234: 3, 23: 10, 12: 2, 123: 1, 31: 1, 13: 1, 42: 5, 34: 4, 423: 3}
Simple for loop and storing it in dict - Duration: 12.032000000000153
0

Chuyển đổi mảng numpy thành danh sách và đếm các sự xuất hiện của một giá trị trong một mảng

Chúng ta có thể chuyển đổi mảng numpy thành một danh sách và sau đó sử dụng hàm số () của danh sách để có được số lượng xuất hiện của một phần tử trong đó. Ví dụ,

{1: 4, 2: 5, 3: 4, 4: 6, 5: 2, 234: 3, 23: 10, 12: 2, 123: 1, 31: 1, 13: 1, 42: 5, 34: 4, 423: 3}
Simple for loop and storing it in dict - Duration: 12.032000000000153
1

Output:

{1: 4, 2: 5, 3: 4, 4: 6, 5: 2, 234: 3, 23: 10, 12: 2, 123: 1, 31: 1, 13: 1, 42: 5, 34: 4, 423: 3}
Simple for loop and storing it in dict - Duration: 12.032000000000153
2

Chọn các phần tử từ mảng phù hợp với giá trị và đếm chúng

Chúng ta chỉ có thể chọn các phần tử từ mảng numpy bằng giá trị đã cho và sau đó chúng ta có thể có được độ dài của mảng mới này. Nó sẽ cung cấp số lượng xuất hiện của giá trị trong mảng gốc. Ví dụ,

{1: 4, 2: 5, 3: 4, 4: 6, 5: 2, 234: 3, 23: 10, 12: 2, 123: 1, 31: 1, 13: 1, 42: 5, 34: 4, 423: 3}
Simple for loop and storing it in dict - Duration: 12.032000000000153
3

Output:

{1: 4, 2: 5, 3: 4, 4: 6, 5: 2, 234: 3, 23: 10, 12: 2, 123: 1, 31: 1, 13: 1, 42: 5, 34: 4, 423: 3}
Simple for loop and storing it in dict - Duration: 12.032000000000153
4

Làm thế nào để bạn đếm sự xuất hiện trong một mảng?

Để đếm các lần xuất hiện của từng phần tử trong một mảng: khai báo một biến lưu trữ một đối tượng trống.Sử dụng cho ... vòng lặp để lặp qua mảng. Mỗi lần lặp, tăng số lượng cho phần tử hiện tại nếu nó tồn tại hoặc khởi tạo số lượng lên 1.Use the for...of loop to iterate over the array. On each iteration, increment the count for the current element if it exists or initialize the count to 1 .

Làm thế nào để bạn đếm các giá trị trong một mảng trong Python?

Phương thức đếm () được sử dụng để trả về số lần xuất hiện của một giá trị hoặc mục trong một mảng. is used to return the number of occurrences of a value or item in an array.

Làm thế nào để bạn đếm số lần một số xuất hiện trong một mảng numpy?

Sử dụng np.count_nonzero (mảng == value) với mảng làm mảng numpy để đếm số lần giá trị xuất hiện trong mảng.Mặc dù tên của hàm, giá trị có thể là 0.Gọi NP.Count_nonzero (mảng == value, trục = n) với n là 1 để đếm các lần xuất hiện của giá trị trong mỗi hàng. count_nonzero(array == value) with array as a NumPy array to count the number of times value appears in array . Despite the name of the function, value can be 0 . Call np. count_nonzero(array == value, axis=n) with n as 1 to count the occurrences of value in each row.

Làm thế nào để bạn đếm số lần một giá trị xuất hiện trong một danh sách?

Đếm tần suất một giá trị duy nhất xảy ra bằng cách sử dụng hàm Countif.Sử dụng chức năng Countif để đếm số lần một giá trị cụ thể xuất hiện trong một loạt các ô.using the COUNTIF function. Use the COUNTIF function to count how many times a particular value appears in a range of cells.