Hướng dẫn dùng numpy argsort python
Mô-đun NumPy cung cấp một hàm argsort (), trả về các chỉ số sẽ sắp xếp một mảng. Mô-đun NumPy cung cấp một hàm để thực hiện sắp xếp gián tiếp cùng với trục đã cho với sự trợ giúp của thuật toán được chỉ định bởi từ khóa. Hàm này trả về một mảng các chỉ số có cùng hình dạng với ‘a’, sẽ sắp xếp mảng. Các bài viết liên quan: Cú pháp Đây là các tham số sau trong hàm numpy.argsort (): Tham số này xác định mảng nguồn mà chúng ta muốn sắp xếp. Tham số này xác định trục mà quá trình sắp xếp được thực hiện. Theo mặc định, trục là -1. Nếu chúng ta đặt tham số này thành Không, thì mảng phẳng sẽ được sử dụng. Tham số này xác định thuật toán sắp xếp. Theo mặc định, thuật toán là quicksort. Cả hai hợp
nhất và ổn định đều đang sử dụng sắp xếp thời gian dưới các vỏ bọc. Việc triển khai thực tế sẽ thay đổi theo kiểu dữ liệu. Tùy chọn hợp nhất được giữ lại để tương thích ngược. Nếu ‘a’ là một mảng có các trường được xác định, thì đối số này chỉ định trường nào sẽ so sánh đầu tiên, thứ hai, v.v. Trường đơn lẻ có thể được chỉ định dưới dạng một chuỗi và không phải tất cả các trường đều cần phải được chỉ định. Nhưng các
trường không xác định vẫn sẽ sử dụng, theo thứ tự mà chúng xuất hiện trong loại dtype, để phá vỡ các mối quan hệ. Hàm này trả về một mảng chỉ số sắp xếp ‘a’ cùng với trục được chỉ định. Nếu ‘a’ là 1-D, [index_array] mang lại ‘a’ được sắp xếp. Nói chung hơn, np.take_along_axis (arr1, index_array, axis = axis) luôn mang lại ‘a’ được sắp xếp, bất kể kích thước. Ví dụ 1: np.argsort () import numpy as np a=np.array([456,11,63]) a b=np.argsort(a) b Trong đoạn code trên
Trong đầu ra, một ndarray đã được hiển thị có chứa các chỉ số (cho biết vị trí của phần tử đối với mảng được sắp xếp) và dtype. Output: Ví dụ 2: Đối với mảng 2-D (sắp xếp dọc theo trục đầu tiên (xuống)) import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=0) indices Output: Ví dụ 3: Đối với mảng 2-D (thay thế của trục = 0) import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=0) indices np.take_along_axis(a, indices, axis=0) Trong đoạn code trên
Output: Ví dụ 4: Đối với mảng 2-D (sắp xếp dọc theo trục cuối cùng (ngang)) import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=1) indices Output: Ví dụ 5: Đối với mảng 2-D (thay thế của trục = 1) import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=1) indices np.take_along_axis(a, indices, axis=1) Output: Ví dụ 6: Đối với mảng N-D import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.unravel_index(np.argsort(a, axis=None), a.shape) indices a[indices] # same as np.sort(a, axis=None) Output: Trong đoạn code trên
Trong đầu ra, một mảng N-D với các phần tử được sắp xếp đã được hiển thị. Ví dụ 7: Sắp xếp bằng các phím import numpy as np a= np.array([(0, 5), (3, 2)], dtype=[('x', ' |