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 ravel() trong NumPy
Trong bài viết này, bạn sẽ học cách sử dụng hàm NumPy ravel()
để trả về một mảng phẳng liên tục từ một mảng đa chiều. Hàm ravel()
là một công cụ hữu ích trong thư viện NumPy, giúp bạn biến đổi các mảng có nhiều chiều thành mảng một chiều mà vẫn duy trì thứ tự các phần tử. Điều này rất hữu ích khi bạn cần xử lý hoặc phân tích dữ liệu một cách đơn giản và hiệu quả hơn. Hãy cùng tìm hiểu cách sử dụng hàm ravel()
thông qua các ví dụ cụ thể và dễ hiểu.
Giới thiệu về hàm ravel() trong NumPy
Hàm ravel()
nhận vào một mảng và trả về một mảng 1 chiều chứa các phần tử của mảng đầu vào:
numpy.ravel(a, order='C')
Trong cú pháp này:
a
là một mảng NumPy. Nó có thể là bất kỳ đối tượng nào giống mảng, ví dụ như danh sách. Một đối tượng giống mảng là một đối tượng có thể được chuyển đổi thành mảng NumPy.order
xác định thứ tự của các phần tử. Hãy xem phương thứcflatten()
để biết thông tin chi tiết về tham sốorder
và các giá trị của nó.
Ví dụ về hàm ravel() trong NumPy
Hãy xem một số ví dụ về việc sử dụng hàm ravel()
.
Bài viết này được đăng tại [free tuts .net]
Sử dụng hàm ravel() để phẳng hóa một mảng trong NumPy
Ví dụ sau sử dụng hàm ravel()
để phẳng hóa một mảng 2 chiều:
import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.ravel(a) #Bài viết này được đăng tại freetuts.net print(b)
Kết quả:
[1 2 3 4]
Cách hoạt động:
- Đầu tiên, tạo một mảng 2 chiều:
a = np.array([[1, 2], [3, 4]])
Thứ hai, phẳng hóa mảng bằng cách sử dụng hàm ravel()
:
b = np.ravel(a)
Thứ ba, hiển thị mảng kết quả:
print(b)
Hàm ravel() và phương thức flatten()
Phương thức flatten()
tạo một bản sao của mảng đầu vào trong khi hàm ravel()
tạo một view của mảng. Hàm ravel()
chỉ tạo bản sao của mảng khi cần thiết. Ví dụ:
import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.ravel(a) # thay đổi phần tử tại chỉ số 0 b[0] = 0 #Bài viết này được đăng tại freetuts.net # hiển thị cả hai mảng b và a print(b) print(a)
Cách hoạt động:
- Đầu tiên, sử dụng hàm
ravel()
để tạo một view của mảnga
:
b = np.ravel(a)
Thứ hai, thay đổi phần tử tại chỉ số 0 của mảng b
thành số 0:
b[0] = 0
Hiển thị cả hai mảng a
và b
. Vì mảng b
là một view của mảng a
, thay đổi trong mảng b
sẽ được phản ánh trong mảng a
:
print(b) print(a)
Một điểm khác biệt quan trọng khác giữa phương thức flatten()
và hàm ravel()
là bạn có thể gọi phương thức flatten()
trên một đối tượng ndarray, trong khi bạn có thể gọi hàm ravel()
trên một đối tượng giống mảng.
Kết bài
Sử dụng hàm numpy ravel()
để trả về một mảng phẳng liên tục là một phương pháp hiệu quả để biến đổi mảng đa chiều thành mảng một chiều mà không tạo ra bản sao không cần thiết. Điều này giúp tiết kiệm bộ nhớ và tăng tốc độ xử lý dữ liệu, đặc biệt khi làm việc với các mảng lớn. Bằng cách linh hoạt lựa chọn thứ tự sắp xếp các phần tử, bạn có thể dễ dàng điều chỉnh kết quả cho phù hợp với yêu cầu cụ thể của mình. Hãy áp dụng hàm ravel()
vào các bài toán thực tế để trải nghiệm sự tiện lợi mà nó mang lại trong việc xử lý và phân tích dữ liệu.