Đếm giá trị trong mảng python

# Ví dụ về chương trình Python đếm số lần xuất hiện của một đối tượng cụ thể

# phần tử có trong mảng

nhập mảng

# Tạo một mảng các số nguyên có dấu

số = mảng. mảng ('i');

# Thêm phần tử vào mảng

con số. nối thêm (1);

con số. nối thêm (2);

# Thêm 3 hai lần

con số. nối thêm (3);

con số. nối thêm (3);

# Đếm số lần xuất hiện của 3

num2Find = 3;

lần xuất hiện = số. đếm (num2Find);

print("Số lần xuất hiện của %d. "%num2Find);

in (lần xuất hiện);

Bài này mô tả cách đếm số phần tử thỏa mãn điều kiện của mảng NumPy

print(np.count_nonzero(a < 4))
# 4

print(np.count_nonzero(a % 2 == 1))
# 6
5

  • Cho toàn bộ
    print(np.count_nonzero(a < 4))
    # 4
    
    print(np.count_nonzero(a % 2 == 1))
    # 6
    
    5
  • Đối với mỗi hàng và cột của
    print(np.count_nonzero(a < 4))
    # 4
    
    print(np.count_nonzero(a % 2 == 1))
    # 6
    
    5
  • Kiểm tra xem có ít nhất một phần tử thỏa mãn điều kiện không.
    print(np.count_nonzero(a < 4))
    # 4
    
    print(np.count_nonzero(a % 2 == 1))
    # 6
    
    8
  • Kiểm tra xem tất cả các phần tử có thỏa mãn điều kiện không.
    print(np.count_nonzero(a < 4))
    # 4
    
    print(np.count_nonzero(a % 2 == 1))
    # 6
    
    9
  • Nhiều điều kiện
  • Đếm các giá trị còn thiếu
    print(np.sum(a < 4))
    # 4
    
    print(np.sum(a % 2 == 1))
    # 6
    
    0 và vô cùng
    print(np.sum(a < 4))
    # 4
    
    print(np.sum(a % 2 == 1))
    # 6
    
    1

Nếu bạn muốn trích xuất hoặc xóa các phần tử, hàng và cột thỏa mãn điều kiện, hãy xem bài viết sau

  • NumPy. Trích xuất hoặc xóa các phần tử, hàng và cột thỏa mãn điều kiện

Nếu bạn muốn thay thế một phần tử thỏa mãn điều kiện thì xem bài viết sau

  • cục mịch. Ở đâu(). Thao tác các yếu tố tùy thuộc vào điều kiện

Xem bài sau để biết tổng các phần tử

  • NumPy. Lấy số lượng kích thước, hình dạng và kích thước của ndarray

Liên kết được tài trợ

Đếm số phần tử thỏa mãn điều kiện cho toàn bộ print(np.count_nonzero(a < 4)) # 4 print(np.count_nonzero(a % 2 == 1)) # 6 5

Phép toán so sánh của

print(np.count_nonzero(a < 4))
# 4

print(np.count_nonzero(a % 2 == 1))
# 6
5 trả về
print(np.count_nonzero(a < 4))
# 4

print(np.count_nonzero(a % 2 == 1))
# 6
5 với
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
5 (
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
6,
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
7)

import numpy as np

a = np.arange(12).reshape((3, 4))
print(a)
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]

print(a < 4)
# [[ True  True  True  True]
#  [False False False False]
#  [False False False False]]

print(a % 2 == 1)
# [[False  True False  True]
#  [False  True False  True]
#  [False  True False  True]]

nguồn.

Sử dụng

print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
8 cho số
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
6, tôi. e. , số phần tử thỏa mãn điều kiện

  • cục mịch. đếm_nonzero — NumPy v1. 16 Sách hướng dẫn

print(np.count_nonzero(a < 4))
# 4

print(np.count_nonzero(a % 2 == 1))
# 6

nguồn.

print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
6 được coi là
print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
1 và
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
7 được coi là
print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
3, bạn có thể sử dụng
print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
4. Tuy nhiên,
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
8 nhanh hơn
print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
4

print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6

nguồn.

Đếm số phần tử thỏa mãn điều kiện cho mỗi hàng và cột của print(np.count_nonzero(a < 4)) # 4 print(np.count_nonzero(a % 2 == 1)) # 6 5

print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
8 cho số lượng mảng đa chiều cho mỗi trục (mỗi chiều) bằng cách chỉ định tham số
print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
9

Trong trường hợp mảng hai chiều,

print(np.any(a < 4))
# True

print(np.any(a > 100))
# False
0 đưa ra số đếm trên mỗi cột,
print(np.any(a < 4))
# True

print(np.any(a > 100))
# False
1 đưa ra số đếm trên mỗi hàng

Bằng cách này, bạn có thể đếm số phần tử thỏa mãn điều kiện cho mỗi hàng và cột

print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]

nguồn.

Lưu ý rằng tham số

print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
9 của
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
8 là mới trong
print(np.any(a < 4))
# True

print(np.any(a > 100))
# False
4. Trong các phiên bản cũ hơn, bạn có thể sử dụng
print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
4. Trong
print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
4, bạn có thể chỉ định
print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
9 từ phiên bản
print(np.any(a < 4))
# True

print(np.any(a > 100))
# False
8

Kiểm tra xem có ít nhất một phần tử thỏa mãn điều kiện không. print(np.count_nonzero(a < 4)) # 4 print(np.count_nonzero(a % 2 == 1)) # 6 8

print(np.any(a < 4, axis=0))
# [ True  True  True  True]

print(np.any(a < 4, axis=1))
# [ True False False]
0 là một hàm trả về
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
6 khi
print(np.count_nonzero(a < 4))
# 4

print(np.count_nonzero(a % 2 == 1))
# 6
5 được truyền cho tham số đầu tiên chứa ít nhất một phần tử
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
6 và trả về
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
7 nếu không

  • cục mịch. bất kỳ — NumPy v1. 16 Sách hướng dẫn

print(np.any(a < 4))
# True

print(np.any(a > 100))
# False

nguồn.

Như với

print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
8,
print(np.any(a < 4, axis=0))
# [ True  True  True  True]

print(np.any(a < 4, axis=1))
# [ True False False]
0 được xử lý cho từng hàng hoặc cột khi tham số
print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
9 được chỉ định

print(np.any(a < 4, axis=0))
# [ True  True  True  True]

print(np.any(a < 4, axis=1))
# [ True False False]

nguồn.

Liên kết được tài trợ

Kiểm tra xem tất cả các phần tử có thỏa mãn điều kiện không. print(np.count_nonzero(a < 4)) # 4 print(np.count_nonzero(a % 2 == 1)) # 6 9

print(np.any(a < 4, axis=0))
# [ True  True  True  True]

print(np.any(a < 4, axis=1))
# [ True False False]
9 là một hàm trả về
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
6 khi tất cả các phần tử của
print(np.count_nonzero(a < 4))
# 4

print(np.count_nonzero(a % 2 == 1))
# 6
5 được chuyển đến tham số đầu tiên là
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
6 và trả về
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
7 nếu không

  • cục mịch. tất cả — NumPy v1. 16 Sách hướng dẫn

print(np.all(a < 4))
# False

print(np.all(a < 100))
# True

nguồn.

Như với

print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
8,
print(np.any(a < 4, axis=0))
# [ True  True  True  True]

print(np.any(a < 4, axis=1))
# [ True False False]
9 được xử lý cho từng hàng hoặc cột khi tham số
print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
9 được chỉ định

print(np.all(a < 4, axis=0))
# [False False False False]

print(np.all(a < 4, axis=1))
# [ True False False]

nguồn.

Nhiều điều kiện

Nếu bạn muốn kết hợp nhiều điều kiện, hãy đính kèm mỗi biểu thức điều kiện với

print(np.all(a < 4))
# False

print(np.all(a < 100))
# True
7 và sử dụng
print(np.all(a < 4))
# False

print(np.all(a < 100))
# True
8 hoặc
print(np.all(a < 4))
# False

print(np.all(a < 100))
# True
9

print((a < 4) | (a % 2 == 1))
# [[ True  True  True  True]
#  [False  True False  True]
#  [False  True False  True]]

print(np.count_nonzero((a < 4) | (a % 2 == 1)))
# 8

print(np.count_nonzero((a < 4) | (a % 2 == 1), axis=0))
# [1 3 1 3]

print(np.count_nonzero((a < 4) | (a % 2 == 1), axis=1))
# [4 2 2]

nguồn.

Xem bài viết sau để biết lý do tại sao bạn phải sử dụng

print(np.all(a < 4))
# False

print(np.all(a < 100))
# True
8,
print(np.all(a < 4))
# False

print(np.all(a < 100))
# True
9 thay vì
print(np.all(a < 4, axis=0))
# [False False False False]

print(np.all(a < 4, axis=1))
# [ True False False]
2,
print(np.all(a < 4, axis=0))
# [False False False False]

print(np.all(a < 4, axis=1))
# [ True False False]
3 và tại sao dấu ngoặc đơn là cần thiết

  • NumPy, gấu trúc. Cách khắc phục ValueError. Giá trị sự thật. là mơ hồ

Đếm các giá trị còn thiếu print(np.sum(a < 4)) # 4 print(np.sum(a % 2 == 1)) # 6 0 và vô cùng print(np.sum(a < 4)) # 4 print(np.sum(a % 2 == 1)) # 6 1

Để đếm số giá trị còn thiếu

print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
0, bạn cần sử dụng hàm đặc biệt

Sử dụng tệp CSV có dữ liệu bị thiếu làm ví dụ cho các giá trị bị thiếu

print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
0

  • mẫu_nan. csv

a_nan = np.genfromtxt('data/src/sample_nan.csv', delimiter=',')
print(a_nan)
# [[11. 12. nan 14.]
#  [21. nan nan 24.]
#  [31. 32. 33. 34.]]

nguồn.

Giá trị thiếu

print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
0 có thể được tạo bởi
print(np.all(a < 4, axis=0))
# [False False False False]

print(np.all(a < 4, axis=1))
# [ True False False]
9,
print((a < 4) | (a % 2 == 1))
# [[ True  True  True  True]
#  [False  True False  True]
#  [False  True False  True]]

print(np.count_nonzero((a < 4) | (a % 2 == 1)))
# 8

print(np.count_nonzero((a < 4) | (a % 2 == 1), axis=0))
# [1 3 1 3]

print(np.count_nonzero((a < 4) | (a % 2 == 1), axis=1))
# [4 2 2]
0, v.v. Tuy nhiên, ngay cả khi các giá trị bị thiếu được so sánh với
print((a < 4) | (a % 2 == 1))
# [[ True  True  True  True]
#  [False  True False  True]
#  [False  True False  True]]

print(np.count_nonzero((a < 4) | (a % 2 == 1)))
# 8

print(np.count_nonzero((a < 4) | (a % 2 == 1), axis=0))
# [1 3 1 3]

print(np.count_nonzero((a < 4) | (a % 2 == 1), axis=1))
# [4 2 2]
1, nó sẽ trở thành
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
7. Bạn cần sử dụng
print((a < 4) | (a % 2 == 1))
# [[ True  True  True  True]
#  [False  True False  True]
#  [False  True False  True]]

print(np.count_nonzero((a < 4) | (a % 2 == 1)))
# 8

print(np.count_nonzero((a < 4) | (a % 2 == 1), axis=0))
# [1 3 1 3]

print(np.count_nonzero((a < 4) | (a % 2 == 1), axis=1))
# [4 2 2]
3 để đếm

  • cục mịch. isnan — NumPy v1. 17 Sách hướng dẫn

print(np.count_nonzero(a < 4))
# 4

print(np.count_nonzero(a % 2 == 1))
# 6
0

nguồn.

Sau đó, giống như các ví dụ trước, bạn có thể đếm số lượng của

print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
6 với
print(np.sum(a < 4))
# 4

print(np.sum(a % 2 == 1))
# 6
8 hoặc
print(np.count_nonzero(a < 4, axis=0))
# [1 1 1 1]

print(np.count_nonzero(a < 4, axis=1))
# [4 0 0]

print(np.count_nonzero(a % 2 == 1, axis=0))
# [0 3 0 3]

print(np.count_nonzero(a % 2 == 1, axis=1))
# [2 2 2]
4