Hướng dẫn dùng numpy sort python

Để sắp xếp các phần tử của mảng NumPy theo trình tự có thứ tự, hãy sử dụng numpy.sort(). Bằng cách sử dụng điều này, bạn có thể sắp xếp một mảng N chiều của bất kỳ kiểu dữ liệu nào. Trong một số trường hợp, chúng tôi yêu cầu một mảng được sắp xếp để tính toán. Hàm này cung cấp một bản sao được sắp xếp của mảng nguồn hoặc mảng đầu vào.

Nội dung chính

  • 1. Ví dụ nhanh về NumPy Arrays sort ()
  • 2. Cú pháp NumPy Array sort ()
  • 2.1 Tham số sắp xếp ()
  • 2.2 Giá trị trả về của sort ()
  • 3. Cách sử dụng NumPy Array sort ()
  • 3.1 Nhận một mảng NumPy được sắp xếp (Thứ tự tăng dần)
  • 3.2 Nhận một mảng NumPy đã được sắp xếp (Thứ tự giảm dần)
  • 4. Sắp xếp mảng đa chiều bằng cách sử dụng NumPy sort ()
  • 4.1 Sắp xếp các Mảng NumPy Nhiều Chiều dọc theo Trục được Chỉ định
  • 5. Sắp xếp các loại Mảng NumPy khác nhau
  • 6. Kết luận
  • Bạn cũng có thể thích
  • Người giới thiệu

Trong bài viết này, tôi sẽ giải thích cách sắp xếp mảng NumPy trong Python với các ví dụ bằng cách sử dụng numpy.sort().

  • 1. Ví dụ nhanh về NumPy Arrays sort ()
  • 2. Cú pháp NumPy Array sort ()
    • 2.1 Tham số sắp xếp ()
    • 2.2 Giá trị trả về của sort ()
  • 3. Cách sử dụng NumPy Array sort ()
    • 3.1 Nhận một mảng NumPy được sắp xếp (Thứ tự tăng dần)
    • 3.2 Nhận một mảng NumPy đã được sắp xếp (Thứ tự giảm dần)
  • 4. Sắp xếp mảng đa chiều bằng cách sử dụng NumPy sort ()
    • 4.1 Sắp xếp các Mảng NumPy Nhiều Chiều dọc theo Trục được Chỉ định
  • 5. Sắp xếp các loại Mảng NumPy khác nhau
  • 6. Kết luận
    • Bạn cũng có thể thích
    • Người giới thiệu

1. Ví dụ nhanh về NumPy Arrays sort ()

Nếu bạn đang vội, dưới đây là một số ví dụ nhanh về cách sắp xếp các phần tử mảng trong Python NumPy.


# Below are a quick examples

# Example 1: Sort in ascending order
array = np.array([5,8,6,12,3,15,1])
sorted_array = np.sort(array)

# Example 2: Use numpy.sort() to Sort a multi-dimensional array 
arr = np.array([[12, 15, 7], [13, 5,11], [8, 6, 10],[45,54,70]]) 
arr2 = np.sort(arr)  

# Example 3: sort along the last axis
arr2 = np.sort(arr, axis = -1)        

# Example 4: Sort multi-dimensional array
# along a specified axis
arr = np.array([[12, 15, 7], [13, 5,11], [8, 6, 10],[45,54,70]]) 
arr2 = np.sort(arr, axis= None) 

# Example 5: Use numpy.sort() to first axis 
arr2 = np.sort(arr, axis= 0)

# Example 6: Sort the array alphabetically
arr = np.array([['orange','mango','grapes'], ['banana','cherry','apple'], ['papaya','watermelon','jackfruit']]) 
arr2 = np.sort(arr)  

# Example 7: Sort a boolean array    
arr = np.array([[True, False, True],[False, True, True],[False, False, True]]) 
arr2 = np.sort(arr) 

# Example 8: Use numpy.ndarray.sort()
# to sort in descending order
array = np.array([5,8,6,12])
array[::-1].sort()

# Example 9: Use numpy.ndarray.sort()
array_copy = np.sort(array)[::-1]

2. Cú pháp NumPy Array sort ()

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


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

2.1 Tham số sắp xếp ()

Chức năng này cho phép bốn Tham số.

  • arr: Mảng được sắp xếp.
  • axis: Tham số này xác định trục dọc theo đó việc sắp xếp được thực hiện. Nếu tham số này là Không, mảng sẽ được làm phẳng trước khi sắp xếp và theo mặc định, tham số này được đặt thành -1, sẽ sắp xếp mảng cùng với trục cuối cùng.
  • order: Tham số này chỉ định trường nào sẽ so sánh đầu tiên.
  • kind : [‘quicksort’{default}, ‘mergesort’, ‘stable’, ‘heapsort’]Thuật toán sắp xếp.

2.2 Giá trị trả về của sort ()

Hàm sort () trả về một bản sao đã được sắp xếp của mảng đầu vào, mảng này có cùng hình dạng và cùng kiểu với một đầu vào.

3. Cách sử dụng NumPy Array sort ()

Sử dụng numpy.sort() để sắp xếp các phần tử của mảng NumPy theo một trình tự có thứ tự. Thông số arr là bắt buộc. Nếu bạn thực thi hàm này trên mảng một chiều, nó sẽ trả về mảng được sắp xếp một chiều chứa các phần tử theo thứ tự tăng dần.

3.1 Nhận một mảng NumPy được sắp xếp (Thứ tự tăng dần)

Đầu tiên, hãy tạo một mảng NumPy bằng cách sử dụng hàm np.array () và áp dụng cách sắp xếp. Theo mặc định, nó thực hiện thứ tự tăng dần.


# Import NumPy module
import numpy as np

# Create NumPy array
array = np.array([5,8,6,12,3,15,1])

# To get a sorted array(ascending order)
sorted_array = np.sort(array)
print(sorted_array)

# Output
# [ 1  3  5  6  8 12 15]

Từ đoạn mã trên, nó trả về một bản sao đã được sắp xếp của mảng NumPy, nhưng NumPy ban đầu vẫn không thay đổi.

3.2 Nhận một mảng NumPy đã được sắp xếp (Thứ tự giảm dần)

Cho đến nay, chúng tôi đã thấy rằng theo mặc định numpy.sort() sắp xếp mảng NumPy theo thứ tự tăng dần. Hãy xem cách sắp xếp các mảng NumPy theo thứ tự giảm dần.

Bằng cách sắp xếp một mảng NumPy theo thứ tự giảm dần sẽ sắp xếp các phần tử từ giá trị lớn nhất đến giá trị nhỏ nhất. Bạn có thể sử dụng cú pháp array[::-1] để đảo ngược mảng. Ví dụ, sắp xếp [5,8,6,12] theo thứ tự giảm dần dẫn đến [12 8 6 5].


# Create NumPy array
array = np.array([5,8,6,12])

# Use numpy.ndarray.sort() to sort 
# An array in descending order
array[::-1].sort()
print(array)

# Output
# [12  8  6  5]

Ngoài ra, nếu bạn sử dụng numpy.sort(array)[::-1]nó sẽ tạo ra một bản sao được sắp xếp ngược lại của mảng.


# Use np.sort(array) to sort 
# An array in descending order
array_copy = np.sort(array)[::-1]
print(array_copy)

# Output
# [12  8  6  5]

4. Sắp xếp mảng đa chiều bằng cách sử dụng NumPy sort ()

Khi bạn truyền một mảng nhiều chiều làm tham số cho numpy.sort(), sẽ sắp xếp mảng theo thứ tự tăng dần. Sử dụng axis=-1 không phải để tâng bốc mảng.


# Create NumPy arrays   
arr = np.array([[12, 15, 7], [13, 5,11], [8, 6, 10],[45,54,70]]) 
Print("array:n",arr)

# Output: array:
# [[12 15  7]
# [13  5 11]
# [ 8  6 10]
# [45 54 70]]

# Use numpy.sort() to Sort a multi-dimensional array
arr2 = np.sort(arr) 
print("Sorted array:n",arr2)

# Output: Sorted array:
# [[ 7 12 15]
# [ 5 11 13]
# [ 6  8 10]
# [45 54 70]] 

# Sort along the last axis
arr2 = np.sort(arr, axis = -1)        
print ("Sorted array along axis=-1:n",arr2)

# Output: Sorted array along axis=-1:
# [[ 7 12 15]
# [ 5 11 13]
# [ 6  8 10]
# [45 54 70]]

4.1 Sắp xếp các Mảng NumPy Nhiều Chiều dọc theo Trục được Chỉ định

Nếu bạn truyền một mảng nhiều chiều dưới dạng tham số của numpy.sort () dọc theo một trục được chỉ định với giá trị None, nó sẽ được làm phẳng mảng trước khi sắp xếp. Hãy xem ví dụ dưới đây,


 # Create NumPy arrays   
arr = np.array([[12, 15, 7], [13, 5,11], [8, 6, 10],[45,54,70]]) 

# Sort multi-dimensional array along a specified axis
arr2 = np.sort(arr, axis= None) 
print(" Sorted array:n",arr2) 

# OutPut : Sorted array:
# [ 5  6  7  8 10 11 12 13 15 45 54 70]

Khi bạn truyền một mảng nhiều chiều dưới dạng một tham số của sort () dọc theo một trục được chỉ định với giá trị 0sẽ sắp xếp mảng theo thứ tự tăng dần theo cột.


# Use numpy.sort() to first axis 
arr2 = np.sort(arr, axis= 0) 
print("Sorted array:n",arr2) 

# OutPut: Sorted array:
# [[ 8  5  7]
# [12  6 10]
# [13 15 11]
# [45 54 70]]

5. Sắp xếp các loại Mảng NumPy khác nhau

Sử dụng hàm này để sắp xếp các mảng có kiểu dữ liệu khác nhau như mảng chuỗi, mảng boolean, v.v. Khi bạn sắp xếp một mảng với các ký tự, nó sẽ sắp xếp theo thứ tự bảng chữ cái.


# Sort the array alphabetically
arr = np.array([['orange','mango','grapes'], ['banana','cherry','apple'], ['papaya','watermelon','jackfruit']]) 
arr2 = np.sort(arr) 
print(" Sorted array:n",arr2) 

# Output: Sorted array:
# [['grapes' 'mango' 'orange']
# ['apple' 'banana' 'cherry']
# ['jackfruit' 'papaya' 'watermelon']]

Hãy xem việc sắp xếp một mảng với các giá trị boolean.


# Sort a boolean array    
arr = np.array([[True, False, True],[False, True, True],[False, False, True]]) 
arr2 = np.sort(arr) 
print(arr2)

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

6. Kết luận

Trong bài viết này, tôi đã giải thích cách sắp xếp mảng / mảng NumPy trong Python bằng cách sử dụng numpy.sort() các ví dụ. Và tôi cũng đã giải thích cách sắp xếp các giá trị mảng Đa chiều cùng với một giá trị trục được chỉ định.

Học vui vẻ !!

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

Người giới thiệu