Cách so sánh giá trị của hai mảng trong Python

Để so sánh từng phần tử của mảng NumPy

# Given
arr = [1 10 100]
x = 3

# Desired
res = [1>x 10>x 100>x] = [False True True]
4 với biến vô hướng
# Given
arr = [1 10 100]
x = 3

# Desired
res = [1>x 10>x 100>x] = [False True True]
5 bằng cách sử dụng bất kỳ toán tử nào lớn hơn (>), lớn hơn bằng (>=), nhỏ hơn (<), nhỏ hơn bằng (<=) hoặc bằng (==), hãy sử dụng . Ví dụ: phép so sánh lớn hơn
# Given
arr = [1 10 100]
x = 3

# Desired
res = [1>x 10>x 100>x] = [False True True]
6 dẫn đến một mảng các giá trị Boolean từ phép so sánh theo từng phần tử

array > scalar
array >= scalar 
array < scalar 
array <= scalar 
array == scalar  

# yields a new Boolean array [True/False .. True/False]

Xây dựng vấn đề

Cho trước là

  • Một mảng NumPy
    # Given
    arr = [1 10 100]
    x = 3
    
    # Desired
    res = [1>x 10>x 100>x] = [False True True]
    4
  • Một giá trị vô hướng
    # Given
    arr = [1 10 100]
    x = 3
    
    # Desired
    res = [1>x 10>x 100>x] = [False True True]
    5

❓ Cách so sánh từng phần tử của mảng NumPy

# Given
arr = [1 10 100]
x = 3

# Desired
res = [1>x 10>x 100>x] = [False True True]
4 với biến vô hướng
# Given
arr = [1 10 100]
x = 3

# Desired
res = [1>x 10>x 100>x] = [False True True]
5 bằng cách sử dụng bất kỳ toán tử nào lớn hơn (>), lớn hơn bằng (>=), nhỏ hơn (<), nhỏ hơn bằng nhau (<=) hoặc bằng (==)

Kết quả mong muốn là một mảng NumPy gồm các giá trị Boolean biểu thị kết quả so sánh theo từng phần tử

Ví dụ: hãy xem xét mã giả sau đây về những gì bạn đang cố gắng thực hiện

# Given
arr = [1 10 100]
x = 3

# Desired
res = [1>x 10>x 100>x] = [False True True]

Dung dịch. Phát thanh truyền hình

Bạn có thể sử dụng tất cả các toán tử so sánh của một giá trị vô hướng trên mảng NumPy

  • lớn hơn.
    # Given
    arr = [1 10 100]
    x = 3
    
    # Desired
    res = [1>x 10>x 100>x] = [False True True]
    6
  • Lớn hơn hoặc bằng.
    # Given
    arr = [1 10 100]
    x = 3
    
    # Desired
    res = [1>x 10>x 100>x] = [False True True]
    3
  • nhỏ hơn.
    # Given
    arr = [1 10 100]
    x = 3
    
    # Desired
    res = [1>x 10>x 100>x] = [False True True]
    4
  • Nhỏ hơn hoặc bằng.
    # Given
    arr = [1 10 100]
    x = 3
    
    # Desired
    res = [1>x 10>x 100>x] = [False True True]
    5
  • Bình đẳng.
    # Given
    arr = [1 10 100]
    x = 3
    
    # Desired
    res = [1>x 10>x 100>x] = [False True True]
    6

NumPy sẽ tự động đưa cả hai toán hạng về cùng một hình dạng (một tính năng được gọi là "broadcasting")

import numpy as np


# Given
arr = np.array([1, 10, 100])
x = 3

# Greater:
print(arr > x)
# [False  True  True]

# Greater or equal:
print(arr >= x)
# [False  True  True]

# Smaller:
print(arr < x)
# [ True False False]

# Smaller or equal:
print(arr <= x)
# [ True False False]

# Equal:
print(arr == x)
# [False False False]

Việc so sánh được thực hiện theo từng phần tử và kết quả của phép toán là một mảng Boolean như mong muốn

Câu đố khoa học dữ liệu

import numpy as np

# popular instagram accounts
# (millions followers)
inst = [232, #"@instagram"
        133, #"@selenagomez"
        59, #"@victoriassecret"
        120, #"@cristiano"
        111, #"@beyonce"
        76] #"@nike"

inst = np.array(inst)
superstars = inst > 100
print(superstars[0])
print(superstars[2])

Tập thể dục. Đầu ra của câu đố này là gì?

Bạn có thể giải câu đố này trên ứng dụng đào tạo dựa trên câu đố tương tác của chúng tôi và theo dõi các kỹ năng Python của bạn

Cách so sánh giá trị của hai mảng trong Python

NumPy là một thư viện Python phổ biến dành cho khoa học dữ liệu tập trung vào đại số tuyến tính

Tính năng NumPy tiện dụng sau đây sẽ hữu ích trong suốt sự nghiệp của bạn. Bạn có thể sử dụng toán tử so sánh trực tiếp trên mảng NumPy. Kết quả là một mảng NumPy có kích thước bằng nhau với các giá trị Boolean. Mỗi Boolean cho biết phép so sánh có đánh giá thành

# Given
arr = [1 10 100]
x = 3

# Desired
res = [1>x 10>x 100>x] = [False True True]
7 đối với giá trị tương ứng trong mảng ban đầu hay không

Câu đố tạo danh sách các số nguyên. Mỗi số nguyên đại diện cho số lượng người theo dõi các tài khoản Instagram phổ biến (tính bằng triệu)

  • Đầu tiên, chúng tôi chuyển đổi danh sách này thành một mảng NumPy
  • Thứ hai, chúng tôi xác định xem mỗi tài khoản có hơn 100 triệu người theo dõi hay không

Chúng tôi in giá trị boolean đầu tiên và thứ ba của mảng NumPy kết quả. Kết quả là

# Given
arr = [1 10 100]
x = 3

# Desired
res = [1>x 10>x 100>x] = [False True True]
7 cho
# Given
arr = [1 10 100]
x = 3

# Desired
res = [1>x 10>x 100>x] = [False True True]
9 với 232 triệu người theo dõi và
import numpy as np


# Given
arr = np.array([1, 10, 100])
x = 3

# Greater:
print(arr > x)
# [False  True  True]

# Greater or equal:
print(arr >= x)
# [False  True  True]

# Smaller:
print(arr < x)
# [ True False False]

# Smaller or equal:
print(arr <= x)
# [ True False False]

# Equal:
print(arr == x)
# [False False False]
0 cho
import numpy as np


# Given
arr = np.array([1, 10, 100])
x = 3

# Greater:
print(arr > x)
# [False  True  True]

# Greater or equal:
print(arr >= x)
# [False  True  True]

# Smaller:
print(arr < x)
# [ True False False]

# Smaller or equal:
print(arr <= x)
# [ True False False]

# Equal:
print(arr == x)
# [False False False]
1 với 59 triệu người theo dõi

Bạn có phải là một lập trình viên bậc thầy không?
Kiểm tra kỹ năng của bạn ngay bây giờ.

Video liên quan

So sánh mảng Numpy #12

Cách so sánh giá trị của hai mảng trong Python

Xem video này trên YouTube

lập trình viên

# Given
arr = [1 10 100]
x = 3

# Desired
res = [1>x 10>x 100>x] = [False True True]
3

Cách so sánh giá trị của hai mảng trong Python

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners (NoStarch 2020), đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây