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:

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn toàn diện về module datetime trong Python

Hướng dẫn toàn diện về module datetime trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Từ khóa yield trong Python

Từ khóa yield trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Định dạng chuỗi Strings trong Python

Định dạng chuỗi Strings trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Làm việc với các biến môi trường trong Python

Làm việc với các biến môi trường trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa iterator và iterable trong Python

Sự khác biệt giữa iterator và iterable trong Python

Cách làm việc với file tarball/tar trong Python

Cách làm việc với file tarball/tar trong Python

Chuyển đổi kiểu dữ liệu trong Python

Chuyển đổi kiểu dữ liệu trong Python

Sự khác biệt giữa toán tử == và is trong Python

Sự khác biệt giữa toán tử == và is trong Python

Làm việc với file ZIP trong Python

Làm việc với file ZIP trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Sự khác biệt giữa byte objects và string trong Python

Sự khác biệt giữa byte objects và string trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format  trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Top