Computer >> Máy Tính >  >> Lập trình >> Python

Thảo luận về cách có thể áp dụng hàm sắp xếp trên mảng NumPy trong Python?

NumPy đề cập đến ‘Numerical’ ‘Python’. Nó là một thư viện chứa các đối tượng mảng đa chiều và nhiều phương thức giúp xử lý các mảng. NumPy có thể được sử dụng để thực hiện nhiều thao tác trên mảng. Nó được sử dụng cùng với các gói như SciPy, Matplotlib, v.v. NumPy + Matplotlib có thể hiểu là một giải pháp thay thế cho MatLab. Nó là một gói mã nguồn mở, có nghĩa là nó có thể được sử dụng bởi bất kỳ ai.

Đối tượng quan trọng nhất có trong gói NumPy là một mảng n chiều được gọi là ‘ndarray’. Nó xác định tập hợp các mục cùng loại. Các giá trị này bên trong ndarray có thể được truy cập bằng cách sử dụng lập chỉ mục (chỉ mục dựa trên 0). Mọi mục trong ndarray có cùng kích thước khối trong không gian bộ nhớ. Mọi loại phần tử trong ndarray đều có thể được tìm thấy bằng cách sử dụng hàm "dtype".

Một mục từ ndarray có thể được trích xuất bằng cách sử dụng phương pháp cắt mảng. Nó được biểu diễn như một đối tượng của kiểu vô hướng mảng. Một loạt các chức năng sắp xếp có trong NumPy. Chúng có thể được triển khai theo các phương pháp khác nhau và mỗi hàm này khác nhau dựa trên tốc độ thực thi, hiệu suất trong trường hợp xấu nhất, yêu cầu bộ nhớ, v.v.

Hàm 'sort' trong NumPy trả về bản sao đã sắp xếp của mảng được chuyển làm đầu vào cho nó.

numpy.sort(arr, axis, kind, order)

Ở đây, ‘arr’ là mảng cần được sắp xếp. 'Trục' đề cập đến trục mà mảng sẽ được sắp xếp. "Loại" đề cập đến kiểu sắp xếp, giá trị mặc định là nhanh chóng. Nếu mảng chứa bất kỳ trường nào khác, thì "order" đề cập đến các trường này cần được sắp xếp.

Đây là ví dụ để áp dụng sort () trên mảng NumPy -

Ví dụ

import numpy as np
my_arr = np.array([[3,56],[19,100]])
print("Original array is :")
print(my_arr)
print("The sort() function called")
print(np.sort(my_arr))
print("Sorting array along axis 0")
print(np.sort(my_arr, axis = 0))
dt = np.dtype([('Name', 'S6'),('Age', int)])
my_arr = np.array([("Will",20),("Jack",19),("Bob", 23)], dtype = dt)
print("Original array is :")
print(my_arr)
print("Array sorted by name ")
print(np.sort(my_arr, order = 'Name'))

Đầu ra

Original array is :
[[ 3 56]
[ 19 100]]
The sort() function called
[[ 3 56]
[ 19 100]]
Sorting array along axis 0
[[ 3 56]
[ 19 100]]
Original array is :
[(b'Will', 20) (b'Jack', 19) (b'Bob', 23)]
Array sorted by name
[(b'Bob', 23) (b'Jack', 19) (b'Will', 20)]

Giải thích

  • Các thư viện bắt buộc được nhập vào môi trường.
  • ndarray được tạo và nó được sắp xếp bằng cách sử dụng hàm "sort".
  • Kết quả đầu ra được hiển thị.
  • Một lần nữa, nó được sắp xếp dọc theo trục 0 và đầu ra được hiển thị trên bảng điều khiển.
  • Một mảng khác bao gồm tên và tuổi được tạo và nó được sắp xếp dọc theo trục 0.
  • Đầu ra được hiển thị trên bảng điều khiển.