Một số hàm sắp xếp (Sort) phổ biến trong Numpy

Sắp xếp (Sort) là một thao tác phổ biến trong phân tích dữ liệu và lập trình. Nó liên quan đến việc sắp xếp các phần tử trong một tập hợp theo một thứ tự nhất định. NumPy, một thư viện cốt lõi cho tính toán khoa học trong Python, cung cấp nhiều hàm để sắp xếp mảng một cách hiệu quả. Hướng dẫn này trình bày nhiều cách tiếp cận để sắp xếp mảng trong NumPy, bao gồm cả kỹ thuật cơ bản và nâng cao. 

Sắp xếp (Sort)  một thao tác phổ biến trong phân tích dữ liệu lập trình. liên quan đến việc sắp xếp các phần tử trong một tập hợp theo một thứ tự nhất định. NumPy – thư viện cốt lõi cho tính toán khoa học trong Python, cung cấp nhiều hàm để sắp xếp mảng một cách hiệu quả.

Trong bài viết ngày hôm nay, UniTrain sẽ hướng dẫn bạn nhiều cách tiếp cận để sắp xếp mảng trong NumPy, bao gồm cả kỹ thuật bản nâng cao. 

NumPy.Sort() 

Để Sort các phần tử của mảng NumPy theo thứ tự nhất định, bạn có thể sử dụng hàm numpy.sort(). Bằng cách sử dụng hàm này, bạn có thể sắp xếp một mảng N chiều với bất kỳ kiểu dữ liệu nào. 

Cú pháp hàm Sort:

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

Hàm này cho phép sử dụng bốn tham số sau: 

  • arr: Đây là mảng đầu vào mà bạn muốn sắp xếp. 
  • axis: Tham số này xác định trục mà việc sắp xếp sẽ được thực hiện. Nếu giá trị là None, mảng sẽ được làm phẳng (flatten) trước khi sắp xếp. Mặc định, tham số này là -1, tức là sắp xếp theo trục cuối cùng. 
  • order: Tham số này chỉ định các trường sẽ được so sánh trước. Nếu mảng có cấu trúc (nghĩa là có các trường được định nghĩa), thì đối số này xác định trường nào được sử dụng để sắp xếp. 
  • kind: Thuật toán sắp xếp. Mặc định là ‘quicksort’. Các lựa chọn khác bao gồm ‘mergesort’‘heapsort’.

Ví dụ:  

import numpy as np
array = np.array([12, 3, 7, 5, 9])
sorted_array = np.sort(array)# Sorts in ascending order
print(sorted_array)#Output:
[3 5 7 9 12]

Nếu mảng cần được sắp xếp theo thứ tự giảm dần, bạn có thể đảo ngược kết quả như sau:

import numpy as np
array = np.array([3, 9, 4, 1, 5])
sorted_array = np.sort(array)[::-1]# Sorts in ascending order and reverses for descending
print(sorted_array)#Output:
[9 5 4 3 1]

Sắp xếp mảng bằng Numpy.argsort()

Hàm numpy.argsort() trả về chỉ số của các phần tử trong mảng theo thứ tự sẽ sắp xếp được mảng theo thứ tự tăng dần. Điều này cho phép chúng ta tái sắp xếp dữ liệu dựa trên các chỉ số đó không làm thay đổi mảng gốc. 

import numpy as np

array = np.array([5, 2, 9, 1, 5])
sorted_indices = np.argsort(array)
print(sorted_indices)

#Output:
[3 1 0 4 2]

Sắp xếp mảng bằng Numpy.lexsort() 

Khi sắp xếp mảng có cấu trúc (structured array) theo nhiều tiêu chí, chúng ta có thể sử dụng hàm numpy.lexsort(). Một mảng có cấu trúc giống như một bảng, trong đó mỗi cột có thể chứa các kiểu dữ liệu khác nhau. Với numpy.lexsort(), chúng ta có thể Sort mảng dựa trên nhiều cột, bắt đầu từ cột đầu tiên và sử dụng các cột tiếp theo để quyết định thứ tự đối với những phần tử có giá trị giống nhau. 

a = [1, 5, 1, 4, 3, 4, 4] # Cột thứ nhất (key phụ)

b = [9, 4, 0, 4, 0, 2, 1] # Cột thứ hai (key chính)
ind = np.lexsort((b, a))

# Sắp xếp theo ‘a’ trước, nếu trùng thì so sánh theo ‘b’
print(ind)

#Out put:
array([2, 0, 4, 6, 5, 3, 1])

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu các tính năng mạnh mẽ của NumPy về Sort và các phép toán đơn nhất (unary operations), qua đó làm nổi bật tầm quan trọng của thư viện này trong việc xử lý dữ liệu hiệu quả.

NumPy là một thư viện thiết yếu cho tính toán số trong Python, cung cấp các công cụ mạnh mẽ để Sort mảng và thực hiện các phép tính theo từng phần tử một cách nhanh chóng. Hiệu suất vượt trội của NumPy so với các hàm dựng sẵn của Python khiến nó trở thành lựa chọn hàng đầu khi làm việc với các tập dữ liệu lớn, giúp các tác vụ phân tích dữ liệu trở nên trơn tru và hiệu quả hơn.

Cùng theo dõi Fanpage UniTrain để khám phá thêm nhiều thông tin hữu ích nhé.

Xem thêm:

Xử lý và trực quan hóa dữ liệu với Python

Nối các mảng dữ liệu trong Python

Thêm và Xóa phần tử trong Numpy

Bài viết liên quan
[ƯU ĐÃI THÁNG 06/2025] Hè năng động – Giảm 166.000 đồng

Chào hè tháng 06 năng động, UniTrain mang đến ưu đãi kép cho học viên: Giảm ngay 166.000đ trên mức ưu đãi đóng sớm khi học viên đăng ký bất kỳ khóa học nào trong tháng

Xem thêm
[HOẠT ĐỘNG CỘNG ĐỒNG] Cuộc thi The Audit Proud 2025 – CLB Kế toán – Kiểm toán (FAC) – Đại học Ngoại Thương CSII TP. HCM (FTU2)

Ngày 01/06/2025 vừa rồi, UniTrain hân hạnh tham dự đêm chung kết cuộc thi The Audit Proud 2025 với vai trò là Đơn vị Bảo trợ chuyên môn. The Audit Proud

Xem thêm
UniTrain ACCA Scholarship Jun 2025 (UTS Jun 25)

UNITRAIN ACCA SCHOLARSHIP JUN 2025 UTS Jun 2025 – Học bổng UniTrain ACCA Scholarship tháng 07/2025 sẽ trao tặng 30 suất học bổng ACCA giá trị cùng nhiều voucher khóa học

Xem thêm
[In-house Training] CÔNG TY CỔ PHẦN XÂY DỰNG COTECCONS hợp tác cùng UNITRAIN tổ chức chương trình đào tạo Xử Lý Và Quản Lý Dữ Liệu Báo Cáo Hiệu Quả Trong Excel

Quá trình doanh nghiệp chuyển đổi số đang là xu hướng tất yếu trong thời đại số hóa. Trong nhiều năm qua, COTECCONS đã liên tục ứng dụng cập nhật ứng

Xem thêm