NumPy argsort () chức năng trong Python được sử dụng để tính toán một cách sắp xếp gián tiếp dọc theo trục được chỉ định bằng cách sử dụng thuật toán được chỉ định theo loại. Nó trả về một chỉ số của một mảng các phần tử có cùng hình dạng với arr sẽ sắp xếp mảng.

Lưu ý rằng điều này không sắp xếp các phần tử của mảng thay vào đó nó chỉ trả về các chỉ số của các phần tử được sắp xếp.

Trong bài viết này, tôi sẽ giải thích Python NumPy argsort () cú pháp hàm và sử dụng các tham số của nó như thế nào chúng ta có thể lấy chỉ số của các phần tử được sắp xếp của một mảng.

1. Ví dụ nhanh về chức năng Python NumPy Argsort

Nếu bạn đang vội, dưới đây là một số ví dụ nhanh về Python numpy.argsort() hàm số.

# Below are the quick examples

# Example 1: Get the  argsort  of the 1-D array
arr1 = np.  argsort (arr) 

# Example 2: Get the  argsort  1-D array in descending order
arr1 = np.  argsort (arr)[::-1]

# Example 3: Compute  argsort  of the 2-D array along axis = 0
arr1 = np.  argsort (arr, axis = 0)

# Example 4: Compute  argsort  of the 2-D array along axis = 1
arr1 = np.  argsort (arr, axis = 1)

# Example 5: Compute  argsort  of 2-D array along kind
arr1 = np.  argsort (arr, kind ='quicksort', axis = 1)

2. Cú pháp của argsort ()

Sau đây là cú pháp của argsort ().

  
# Syntax of argsort()
numpy.argsort(arr, axis=- 1, kind=None, order=None)
 

2.1 Các thông số của argsort () Trong

Sau đây là các thông số của argsort () hàm số.

  • arr – Mảng để sắp xếp.
  • axis – Trục để sắp xếp. Giá trị mặc định là -1, sắp xếp dọc theo trục cuối cùng. Nếu Không, mảng được làm phẳng được sử dụng.
  • kind – Thuật toán lựa chọn. Mặc định là ‘quicksort’.
  • order – (str hoặc danh sách str), tùy chọn: Đối số này chỉ định trường nào sẽ so sánh đầu tiên, thứ hai, v.v.

2.2 Giá trị hoàn trả của argsort ()

Nó trả về các chỉ số của các phần tử mảng sẽ sắp xếp một mảng.

3. Cách sử dụng NumPy argsort () Hàm số

numpy.argsort() có sẵn trong gói mô-đun numpy bằng Python và nó trả về các chỉ số sẽ sắp xếp một mảng bằng cách thực hiện sắp xếp gián tiếp dọc theo trục đã cho bằng cách sử dụng thuật toán được chỉ định bởi từ khóa kind. Trong Numpy Python argsort () có nghĩa là sắp xếp các phần tử của một mảng với trục đã cho của cùng một hình dạng.

Cho phép tạo NumPy sử dụng mảng numpy.array() chức năng và nhận các chỉ số của các phần tử được sắp xếp bằng cách sử dụng argsort () nó sẽ trả về chỉ số của các phần tử đã được sắp xếp của mảng đã cho.

import numpy as np  
# Create  NumPy  1-D array
arr = np.array([6, 8, 3, 9, 5, 7])

# Get the  argsort  of 1-D array
arr1 = np.  argsort (arr)
print(arr1)

# Output
# [2 4 0 5 1 3]

4. Lấy NumPy argsort thứ tự giảm dần

Theo mặc định argsort () phân loại chức năng NumPy các phần tử mảng theo thứ tự tăng dần và trả về các chỉ số tương ứng của chúng, hơn nữa, chúng ta có thể dễ dàng sắp xếp các chỉ số của một mảng nhất định theo thứ tự giảm dần. Cùng với cú pháp [::-1]. Ví dụ,

# Get the  argsort  1-D array in decending order
arr1 = np.  argsort (arr)[::-1]
print(arr1)

# Output 
# [3 1 5 0 4 2]

5. Sắp xếp mảng hai chiều

Chúng tôi cũng có thể áp dụng argsort () với mảng 2-D cùng với trục được chỉ định, vì vậy chúng ta phải truyền tham số trục cùng với mảng. Bây giờ chúng ta có thể chỉ định axis = 0, sau đó hàm này sẽ trả về các chỉ số theo cột của mảng đã sắp xếp.

# Initialize 2-D numpy array
arr = np.array([[6, 8, 3], 
               [ 9, 5, 7]])
  
# Compute  argsort  of 2-D array along axis = 0
arr1 = np.  argsort (arr, axis = 0)
print(arr1)

# Output
# [[0 1 0]
#  [1 0 1]]

Để chỉ định axis = 1, thì hàm này sẽ trả về các chỉ số theo hàng của mảng đã sắp xếp.

# Compute  argsort  of 2-D array along axis = 1
arr1 = np.  argsort (arr, axis = 1)
print (arr1)

# Output
# [[2 0 1]
# [1 2 0]]

6. Sắp xếp mảng hai chiều cùng với tham số loại

Bằng cách sử dụng loại tham số, chúng ta có thể chỉ định thuật toán sắp xếp nào sẽ sử dụng để sắp xếp gián tiếp mảng và nhận các chỉ số của kết quả. Ví dụ dưới đây sử dụng quicksort.

# Compute  argsort  of 2-D array along kind
arr1 = np.  argsort (arr, kind ='quicksort', axis = 1)
print(arr1)

# Output
# [[2 0 1]
# [1 2 0]]

7. Kết luận

Trên đây là Cách sử dụng NumPy Argsort () trong Python. Nếu bạn có bất kỳ câu hỏi nào liên quan đến các bước nói trên, hãy signalfix.net biết trong phần bình luận. signalfix.net sẽ liên hệ với bạn để có giải pháp trong thời gian sớm nhất.