Hướng dẫn dùng np.where pandas python

Mô-đun NumPy cung cấp một hàm numpy.where [] để chọn các phần tử dựa trên một điều kiện. Nó trả về các phần tử được chọn từ a hoặc b tùy thuộc vào điều kiện.

Nội dung chính Show

  • 1. Ví dụ nhanh về Python NumPy trong đó Hàm
  • 2. Cú pháp của NumPy where []
  • 2.1 Các tham số của where []
  • 2.2 Giá trị trả về của where []
  • 3. Cách sử dụng hàm NumPy where []
  • 3.1 Sử dụng NumPy where [] với Điều kiện duy nhất
  • 4. Sử dụng hàm where [] Với Mảng 2- D
  • 5. Sử dụng NumPy where [] không có biểu thức điều kiện
  • 6. Sử dụng numpy.where [] với Nhiều điều kiện
  • 7. Kết luận
  • Bạn cũng có thể thích
  • Người giới thiệu

Ví dụ: nếu tất cả các đối số -> điều kiện, a & b được chuyển vào numpy.where [] thì nó sẽ trả về các phần tử được chọn từ a & b tùy thuộc vào các giá trị trong mảng bool được tạo bởi điều kiện.

Các bài viết liên quan:

Nếu chỉ cung cấp điều kiện, thì hàm này là viết tắt của hàm np.asarray [condition] .nonzero []. Mặc dù nonzero nên được ưu tiên trực tiếp, vì nó hoạt động chính xác cho các lớp con.

Cú pháp:

numpy.where[condition[, x, y]]  

Tham số:

Đây là các tham số sau trong hàm numpy.where []:

  1. condition: array_like, bool

Nếu tham số này được đặt thành True, hãy mang lại x, nếu không, hãy mang lại cho y.

  1. x, y: array_like:

Tham số này xác định các giá trị để chọn. X, y và điều kiện cần phải được phát sóng thành một số hình dạng.

Return:

Hàm này trả về mảng có các phần tử từ x trong đó điều kiện là Đúng và các phần tử từ y ở nơi khác.

Ví dụ 1: np.where []

import numpy as np  
a=np.arange[12]  
b=np.where[a y, x, 10 + y]  
a  

Output:

Trong đoạn code trên

  • Chúng tôi đã tạo một mảng ‘a’ bằng hàm np.arange [].
  • Chúng tôi đã khai báo biến ‘b’ và gán giá trị trả về của hàm np.where [].
  • Chúng ta đã chuyển một mảng nhiều chiều gồm boolean dưới dạng điều kiện và x và y dưới dạng mảng số nguyên.
  • Cuối cùng, chúng tôi đã cố gắng in giá trị của b.

Trong đầu ra, giá trị x đã được so sánh với giá trị y nếu nó thỏa mãn điều kiện, thì nó sẽ được in ra giá trị x, ngược lại, nó sẽ in ra giá trị y, giá trị này đã được chuyển làm đối số trong hàm where [].

Ví dụ 4: Truyền giá trị cụ thể

x=np.array[[[0,1,2],[0,2,5],[0,4,8]]]  
y=np.where[x 17]

# Example 2: Get the specified resultant array
arr2 = np.where[arr > 17, 1, 3]

# Example 3: Get some of resultant array as it is
arr2 = np.where[arr > 17, 5, arr]

# Example 4: Use numpy.where[] function
arr2 = np.where[arr  14] & [arr < 24], -2, 150]

# Example 7: Use bool value 
arr2 = [arr > 14] & [arr < 24]

2. Cú pháp của NumPy where []

Sau đây là cú pháp của hàm where [] NumPy.


# Syntax of where[]
numpy.where[condition, [x, y, ]]

2.1 Các tham số của where []

Sau đây là các tham số của NumPy where []

  • condition -Khi Đúng thì nhường x, ngược lại thì nhường y.
  • x,y – Giá trị để lựa chọn. x, y và điều kiện cần phải được phát sóng thành một số hình dạng.

2.2 Giá trị trả về của where []

  • Nó trả về một mảng nếu cả x và y đều được chỉ định, mảng đầu ra chứa các phần tử của x trong đó điều kiện là Đúng và các phần tử của y trong đó điều kiện là sai.
  • Nó trả về một bộ chỉ số nếu một điều kiện duy nhất được đưa ra, các chỉ số trong đó điều kiện là Đúng.

3. Cách sử dụng hàm NumPy where []

Python NumPy where [] được sử dụng để tạo một mảng mới từ mảng hiện có dựa trên các điều kiện. Nó trả về các chỉ số của mảng mà mỗi điều kiện là True.

3.1 Sử dụng NumPy where [] với Điều kiện duy nhất

Sử dụng where[] chúng ta có thể chuyển đổi mảng này sang mảng khác dựa trên một số điều kiện. Hãy tạo mảng NumPy bằng cách sử dụng numpy.array[].


import numpy as np

# Create a numpy array
arr = np.array[[[12,14,17,19,24,27,35,38]]]

# Use numpy.where[] with 1 Dimensional Arrays
arr1 = np.where[arr > 17]
print[arr1]

# Output
# [array[[0, 0, 0, 0, 0], dtype=int64], array[[3, 4, 5, 6, 7], dtype=int64]]

Tại đây, bạn có thể quan sát tuple đã được trả lại. Như tôi đã đề cập ở trên rằng khi chuyển điều kiện duy nhất vào where [], nó sẽ trả về một bộ chỉ số.

Bạn có thể sử dụng cùng một biểu thức điều kiện [arr > 17] nhưng chỉ định rằng mảng kết quả phải có giá trị là 1 điều kiện ở đâu true và giá trị của 3 điều kiện ở đâu false. Kết quả là một mảng có giá trị là 3 ở đâu arr ít hơn 17 và giá trị của 1 nếu không thì.


# Get the specified resultant array
arr2 = np.where[arr > 17, 1, 3]
print[arr2]

# Output
# [[3 3 3 1 1 1 1 1]]

Để tạo một mảng sang một mảng khác bằng cách sử dụng np.where[arr > 17,5,arr] để giữ giá trị trong mảng ban đầu cho một trong các kết quả. Ở đây, Bạn giữ nguyên giá trị arr nếu điều kiện giải quyết thành false.


# Get some of resultant array as it is
arr2 = np.where[arr > 17, 5, arr]
print[arr2]

# Output
[12 14 17  5  5  5  5  5]]

4. Sử dụng hàm where [] Với Mảng 2- D

numpy.where[] trả lại ndarray cái nào là x nếu điều kiện là Truey nếu False. x, y và điều kiện cần phải được quảng bá với cùng một hình dạng.


import numpy as np
 
# Create a numpy array
arr = np.array[[[12,14,17,19],[13,16,24,27]]]

# Use numpy.where[] function
arr2 = np.where[arr  14] & [arr < 24], -2, 150]
print[arr2]

# Output
# [[150 150  -2  -2]
#  [150  -2 150 150]]

Nhận giá trị boolean ndarray có thể thu được bằng nhiều biểu thức điều kiện bao gồm ndarray không sử dụng np.where[].


# Use bool value 
arr2 = [arr > 14] & [arr < 24]
print[arr2]

# Output
# [[False False  True  True]
# [False  True False False]]

7. Kết luận

Trong bài viết này, tôi đã giải thích cách sử dụng Python numpy.where[] cách lấy các chỉ số phần tử từ mảng khi đáp ứng điều kiện. Cũng đã học cách sử dụng cả đối số đơn cũng như nhiều đối số với hàm này.

Học vui vẻ !!

Bạn cũng có thể thích

Người giới thiệu

Bài Viết Liên Quan

Chủ Đề