Cách làm phẳng một mảng 3D trong Python
Hãy thảo luận về cách làm phẳng Ma trận bằng NumPy trong Python. Bằng cách sử dụng ndarray. flatten() chúng ta có thể làm phẳng ma trận thành một chiều trong python Show
ví dụ 1 trăn3
array([ 6, 9, 8, 5, 18, 21])0 # importing numpy as np 4array([ 6, 9, 8, 5, 18, 21])2 # importing numpy as np 6array([ 6, 9, 8, 5, 18, 21])2 1array([ 6, 9, 8, 5, 18, 21])4 # importing numpy as np 8array([ 6, 9, 8, 5, 18, 21])2 array([ 6, 9, 8, 5, 18, 21])7 array([ 6, 9, 8, 5, 18, 21])2 array([ 6, 9, 8, 5, 18, 21])1 array([ 6, 9, 8, 5, 18, 21])4 import 2array([ 6, 9, 8, 5, 18, 21])2_______20_______4_______0_______2_______23_______8Nếu một. ndim < n, 'A' được nâng cấp thành n-chiều bằng cách thêm vào các trục mới. Vì vậy, một mảng hình dạng (5,) được thăng cấp thành (1, 5) để sao chép 2 chiều hoặc hình dạng (1, 1, 5) để sao chép 3 chiều. Nếu đây không phải là hành vi mong muốn, hãy thăng hạng 'A' thành thứ nguyên theo cách thủ công trước khi gọi chức năng này Một thuộc tính quan trọng của mảng NumPy là hình dạng của chúng. Hình dạng của một mảng có thể được xác định bằng cách sử dụng thuộc tính numpy reshape và numpy flatten. Nhưng nếu bạn muốn thay đổi hình dạng của một mảng thì sao? . định hình lại() và numpy. Các hàm flatten() được sử dụng để thay đổi hình dạng của một mảng. Trong hướng dẫn này, chúng ta sẽ thảo luận cách triển khai chúng trong mã của bạn. Sử dụng phương thức reshape()Phương thức định hình lại được sử dụng để chuyển đổi một mảng từ hình dạng này sang hình dạng khác. Chẳng hạn, một mảng hình dạng (1, 9) có thể được định hình lại thành một mảng hình dạng (3, 3). Dưới đây là cú pháp của phương thức reshape() np.reshape(a, newshape) Thông số a. Đây là mảng bạn muốn được định hình lại. hình mới. Đây là hình dạng mới của mảng được trả về. Hãy xem một ví dụ import numpy as np a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) #reshaping the array. print(np.reshape(a, (3, 3))) Trong ví dụ trên, mảng 1 chiều có độ dài 9 đã được chuyển thành mảng 2 chiều có dạng 3 x 3. Hãy xem kết quả cho đoạn mã trên.
Như đã thấy, hình dạng đã được thay đổi. Tuy nhiên, có một điều cần lưu ý về phương pháp định hình lại. Hình dạng mới phải có khả năng chứa tất cả các phần tử của hình dạng cũ. Ví dụ mảng ở ví dụ trước có 9 phần tử. Mảng 3 nhân 3 có thể chứa 9 phần tử nên tương thích. Cố gắng định hình lại mảng đó thành (2, 4), chỉ có thể chứa 8 phần tử chứ không phải 9, trả về lỗi. Xem ví dụ bên dưới import numpy as np a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) #reshaping the array. print(np.reshape(a, (2, 4)))
Phương thức reshape() đặc biệt hữu ích khi xây dựng mạng nơ-ron tích chập vì hầu hết các lần, bạn sẽ cần định hình lại hình dạng hình ảnh từ mảng 2 chiều thành mảng 3 chiều Sử dụng numpy. phương pháp làm phẳng ().Đúng như tên gọi, phương thức flatten() trong Numpy được sử dụng để chuyển đổi một mảng thành mảng 1 chiều. Vì vậy, về cơ bản nó làm phẳng mảng bất kể hình dạng của nó. Sử dụng phương thức flatten() không có tham số bắt buộc. Xem một ví dụ dưới đây. import numpy as np a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(a) #flatten the array print('flattening a...') print(a.flatten())
Nếu bạn có bất kỳ câu hỏi nào, vui lòng để lại trong phần bình luận và tôi sẽ cố gắng hết sức để trả lời chúng Sự khác biệt giữa định hình lại () và làm phẳng () trong Python là gì?Sử dụng flatten() khi bạn muốn tạo mảng 1-D trong đó việc thực hiện các thay đổi sẽ không ảnh hưởng đến mảng ban đầu của bạn. Sử dụng reshape() khi bạn cần tạo các hình dạng khác nhau của một mảng và việc thay đổi bất kỳ hình dạng nào trong số đó sẽ ảnh hưởng đến các mảng khác. ravel() có thể được sử dụng giống như reshape(), nhưng nó chỉ có thể tạo mảng 1-D
Làm cách nào để định hình lại mảng NumPy?Để định hình lại một mảng có nhiều mảng, chúng ta sử dụng phương thức định hình lại với mảng đã cho. . cú pháp. mảng. định hình lại (hình dạng) Tranh luận. Nó lấy tuple làm đối số, tuple là hình dạng mới được hình thành Trở lại. Nó trả về numpy. ndarray |