NUMPY
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Cách sử dụng hàm sort() trong NumPy

Trong bài viết này, bạn sẽ học cách sử dụng hàm numpy sort() để sắp xếp các phần tử của một mảng. Hàm numpy sort() là một công cụ mạnh mẽ và linh hoạt, cho phép bạn sắp xếp các phần tử của mảng theo nhiều cách khác nhau, bao gồm sắp xếp theo thứ tự tăng dần hoặc giảm dần, và sắp xếp theo các trục cụ thể trong các mảng nhiều chiều. Việc nắm vững cách sử dụng hàm numpy sort() sẽ giúp bạn dễ dàng thao tác và phân tích dữ liệu một cách hiệu quả hơn.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Giới thiệu về hàm sort() trong Numpy

Hàm numpy sort() trả về một bản sao đã được sắp xếp của một mảng. Dưới đây là cú pháp của hàm sort():

numpy.sort(a, axis=-1, kind=None, order=None)

Trong cú pháp này:

  • a là một mảng numpy cần được sắp xếp. Nó có thể là bất kỳ đối tượng nào có thể chuyển đổi thành mảng.
  • axis xác định trục mà các phần tử sẽ được sắp xếp. Nếu trục là None, hàm sẽ làm phẳng mảng trước khi sắp xếp. Mặc định, trục là -1, tức là sắp xếp các phần tử theo trục cuối cùng.
  • kind xác định thuật toán sắp xếp, có thể là ‘quicksort’, ‘mergesort’, ‘heapsort’, và ‘stable’.
  • order xác định các trường sẽ so sánh đầu tiên, thứ hai, v.v. khi sắp xếp một mảng có các trường được định nghĩa. order có thể là một chuỗi đại diện cho trường cần sắp xếp hoặc danh sách các chuỗi đại diện cho danh sách các trường cần sắp xếp.

Nếu bạn muốn sắp xếp các phần tử của một mảng tại chỗ, bạn có thể sử dụng phương thức sort() của đối tượng ndarray với cú pháp sau:

Bài viết này được đăng tại [free tuts .net]

ndarray.sort(axis=-1, kind=None, order=None)

Các ví dụ về hàm sort() trong Numpy

Hãy cùng xem một số ví dụ về việc sử dụng hàm numpy sort().

Sử dụng hàm sort() để sắp xếp một mảng 1-D

Ví dụ sau sử dụng hàm sort() để sắp xếp các số trong một mảng 1-D:

import numpy as np

a = np.array([2, 3, 1])
b = np.sort(a)
print(b)

Kết quả:

[1 2 3]

Trong ví dụ này, hàm sort() sắp xếp các phần tử của mảng từ thấp đến cao.

Để sắp xếp các phần tử của một mảng từ cao đến thấp, bạn có thể sử dụng hàm sort() để sắp xếp mảng từ thấp đến cao và sử dụng slicing để đảo ngược mảng. Ví dụ:

import numpy as np

a = np.array([2, 3, 1])
b = np.sort(a)[::-1]
print(b)

Kết quả:

[3 2 1]

Trong ví dụ này:

  • Đầu tiên, hàm sort() sắp xếp các phần tử trong mảng a theo thứ tự tăng dần (từ thấp đến cao).
  • Sau đó, slicing [::-1] đảo ngược mảng đã sắp xếp để các phần tử của mảng kết quả theo thứ tự giảm dần.

Sử dụng hàm numpy sort() để sắp xếp một mảng 2-D

Ví dụ sau sử dụng hàm sort() để sắp xếp một mảng 2-D:

import numpy as np

a = np.array([
    [2, 3, 1],
    [5, 6, 4]
])

b = np.sort(a)
print(b)

Kết quả:

[[1 2 3]
 [4 5 6]]

Ví dụ sau sử dụng hàm sort() để sắp xếp các phần tử theo trục 0:

import numpy as np

a = np.array([
    [5, 3, 4],
    [2, 6, 1]
])

b = np.sort(a, axis=0)
print(b)

Screenshot 202024 06 06 20162025 png

Kết quả:

[[2 3 1]
 [5 6 4]]

Tương tự, bạn có thể sắp xếp các phần tử của mảng theo trục 1:

import numpy as np

a = np.array([
    [5, 3, 4],
    [2, 6, 1]
])

b = np.sort(a, axis=1)
print(b)

Screenshot 202024 06 06 20162013 png

Kết quả:

[[3 4 5]
 [1 2 6]]

Sử dụng hàm numpy sort() để sắp xếp một mảng có cấu trúc

Ví dụ sau sắp xếp các nhân viên theo năm làm việc và sau đó là lương:

import numpy as np

dtype = [('name', 'S10'),
         ('year_of_services', float),
         ('salary', float)]

employees = [
    ('Alice', 1.5, 12500),
    ('Bob', 1, 15500),
    ('Jane', 1, 11000)
]

payroll = np.array(employees, dtype=dtype)

result = np.sort(
    payroll,
    order=['year_of_services', 'salary']
)

print(result)

Kết quả:

[(b'Jane', 1. , 11000.) (b'Bob', 1. , 15500.) (b'Alice', 1.5, 12500.)]

Kết bài

Sử dụng hàm numpy sort() để sắp xếp các phần tử của một mảng mang lại cho bạn sự linh hoạt cao trong việc xử lý và phân tích dữ liệu. Bạn có thể sắp xếp mảng theo nhiều trục khác nhau và thậm chí sắp xếp theo các trường đã được định nghĩa trong các mảng có cấu trúc. Điều này không chỉ giúp bạn dễ dàng tổ chức dữ liệu mà còn tối ưu hóa quá trình phân tích và truy xuất thông tin. Hy vọng rằng sau khi nắm vững cách sử dụng hàm numpy sort(), bạn sẽ có thể áp dụng hiệu quả hơn trong các dự án và công việc liên quan đến xử lý dữ liệu của mình.

Cùng chuyên mục:

Cách dừng Luồng trong Python

Cách dừng Luồng trong Python

Cách sử dụng Semaphore trong Python

Cách sử dụng Semaphore trong Python

Đối tượng Threading Event trong Python

Đối tượng Threading Event trong Python

Tìm hiểu về điều kiện race của threading Lock trong Python

Tìm hiểu về điều kiện race của threading Lock trong Python

Sử dụng lớp ThreadPoolExecutor trong Python

Sử dụng lớp ThreadPoolExecutor trong Python

Các luồng Daemon trong Python

Các luồng Daemon trong Python

Tìm hiểu về Multithreading trong Python

Tìm hiểu về Multithreading trong Python

Cách trả về giá trị từ một Thread trong Python

Cách trả về giá trị từ một Thread trong Python

Cách mở rộng Class Thread trong Python

Cách mở rộng Class Thread trong Python

Cách sử dụng module threading trong Python

Cách sử dụng module threading trong Python

Sự khác biệt giữa các Processes and Threads

Sự khác biệt giữa các Processes and Threads

Tài liệu tham khảo nhanh về Regex trong Python

Tài liệu tham khảo nhanh về Regex trong Python

Hàm Flags của Regex trong Python

Hàm Flags của Regex trong Python

Hàm split() của Regex trong Python

Hàm split() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm fullmatch() của Regex trong Python

Hàm fullmatch() của Regex trong Python

Hàm match() của Regex trong Python

Hàm match() của Regex trong Python

Hàm sub() của Regex trong Python

Hàm sub() của Regex trong Python

Hàm search() trong Python Regex

Hàm search() trong Python Regex

Hàm findall() của regex trong Python

Hàm findall() của regex trong Python

Top