Hướng dẫn reshape array to vector python - định hình lại mảng thành vectơ python

numpy.reshape [a, newshape, order = 'c'] [nguồn]#reshape[a, newshape, order='C'][source]#

Cung cấp một hình dạng mới cho một mảng mà không thay đổi dữ liệu của nó.

Tham số aarray_likeaarray_like

Mảng để được định hình lại.

newshapeint hoặc tuple của intsint or tuple of ints

Hình dạng mới nên tương thích với hình dạng ban đầu. Nếu một số nguyên, thì kết quả sẽ là một mảng 1 chiều có độ dài đó. Một kích thước hình dạng có thể là -1. Trong trường hợp này, giá trị được suy ra từ độ dài của mảng và kích thước còn lại.

Đặt hàng{‘C’, ‘F’, ‘A’}, optional

Đọc các phần tử của một thứ tự chỉ mục này và đặt các phần tử vào mảng được định hình lại bằng thứ tự chỉ mục này. ‘C, có nghĩa là đọc / viết các phần tử bằng thứ tự chỉ mục giống C, với chỉ mục trục cuối cùng thay đổi nhanh nhất, trở lại chỉ mục trục đầu tiên thay đổi chậm nhất. ‘F có nghĩa là đọc / viết các yếu tố bằng cách sử dụng thứ tự chỉ mục giống như Fortran, với chỉ mục đầu tiên thay đổi nhanh nhất và chỉ mục cuối cùng thay đổi chậm nhất. Lưu ý rằng các tùy chọn ‘C, và‘ F không có tài khoản về bố cục bộ nhớ của mảng cơ bản và chỉ đề cập đến thứ tự lập chỉ mục. Một người có nghĩa là đọc / viết các yếu tố theo thứ tự chỉ số giống như Fortran nếu A là Fortran tiếp giáp với bộ nhớ, thứ tự giống như C khác.

Returnsreshaped_arrayndarrayreshaped_arrayndarray

Đây sẽ là một đối tượng quan điểm mới nếu có thể; Nếu không, nó sẽ là một bản sao. Lưu ý không có gì đảm bảo bố cục bộ nhớ [C- hoặc Fortran- liền kề] của mảng được trả về.

Ghi chú

Không phải lúc nào cũng có thể thay đổi hình dạng của một mảng mà không sao chép dữ liệu. Nếu bạn muốn một lỗi được nêu ra khi dữ liệu được sao chép, bạn nên gán hình dạng mới cho thuộc tính hình dạng của mảng:

>>> a = np.zeros[[10, 2]]

# A transpose makes the array non-contiguous
>>> b = a.T

# Taking a view makes it possible to modify the shape without modifying
# the initial object.
>>> c = b.view[]
>>> c.shape = [20]
Traceback [most recent call last]:
   ...
AttributeError: Incompatible shape for in-place modification. Use
`.reshape[]` to make a copy with the desired shape.

Từ khóa thứ tự cung cấp cho chỉ mục đặt hàng cả để tìm nạp các giá trị từ A, sau đó đặt các giá trị vào mảng đầu ra. Ví dụ, hãy để nói rằng bạn có một mảng:

>>> a = np.arange[6].reshape[[3, 2]]
>>> a
array[[[0, 1],
       [2, 3],
       [4, 5]]]

Bạn có thể nghĩ rằng định hình lại là lần đầu tiên ravels mảng [sử dụng thứ tự chỉ mục đã cho], sau đó chèn các phần tử từ mảng Ravel vào mảng mới bằng cách sử dụng cùng một loại thứ tự chỉ mục như được sử dụng cho sự raveling.

>>> np.reshape[a, [2, 3]] # C-like index ordering
array[[[0, 1, 2],
       [3, 4, 5]]]
>>> np.reshape[np.ravel[a], [2, 3]] # equivalent to C ravel then C reshape
array[[[0, 1, 2],
       [3, 4, 5]]]
>>> np.reshape[a, [2, 3], order='F'] # Fortran-like index ordering
array[[[0, 4, 3],
       [2, 1, 5]]]
>>> np.reshape[np.ravel[a, order='F'], [2, 3], order='F']
array[[[0, 4, 3],
       [2, 1, 5]]]

Ví dụ

>>> a = np.array[[[1,2,3], [4,5,6]]]
>>> np.reshape[a, 6]
array[[1, 2, 3, 4, 5, 6]]
>>> np.reshape[a, 6, order='F']
array[[1, 4, 2, 5, 3, 6]]

>>> np.reshape[a, [3,-1]]       # the unspecified value is inferred to be 2
array[[[1, 2],
       [3, 4],
       [5, 6]]]

Bạn có thể định hình lại một mảng trong Python không?

Hàm định hình lại [] cho phép chúng ta định hình lại một mảng trong Python. Định hình lại về cơ bản có nghĩa là, thay đổi hình dạng của một mảng. Và hình dạng của một mảng được xác định bởi số lượng phần tử trong mỗi chiều. Định hình lại cho phép chúng tôi thêm hoặc loại bỏ kích thước trong một mảng.. Reshaping basically means, changing the shape of an array. And the shape of an array is determined by the number of elements in each dimension. Reshaping allows us to add or remove dimensions in an array.

Tại sao chúng ta lại làm lại [

Nếu bạn có một mảng hình dạng [2,4] thì định hình lại nó bằng [-1, 1], thì mảng sẽ được định hình lại theo cách mà mảng kết quả chỉ có 1 cột và điều này chỉ có thể bằng cách có 8 hàng , do đó, [8,1].the resulting array has only 1 column and this is only possible by having 8 rows, hence, [8,1].

Làm thế nào để bạn định hình lại một mảng dữ liệu trong Python?

Để định hình lại một mảng numpy, chúng tôi sử dụng phương pháp định hình lại với mảng đã cho ...
Cú pháp: Array.Reshape [hình dạng].
Đối số: Nó lấy Tuple như một đối số, Tuple là hình dạng mới được hình thành ..
Trả lại: nó trả về numpy.ndarray ..

Làm thế nào để bạn định hình lại vectơ?

B = Reshape [A, SZ] định hình lại A bằng cách sử dụng vectơ kích thước, SZ, để xác định kích thước [b].Ví dụ, định hình lại [A, [2,3]] định hình lại A thành ma trận 2 x 3.SZ phải chứa ít nhất 2 yếu tố và prod [SZ] phải giống như Numel [A].B = Reshape [A, SZ1, ..., SZN] định hình lại A thành SZ1 -BY- ... reshapes A using the size vector, sz , to define size[B] . For example, reshape[A,[2,3]] reshapes A into a 2-by-3 matrix. sz must contain at least 2 elements, and prod[sz] must be the same as numel[A] . B = reshape[ A , sz1,...,szN ] reshapes A into a sz1 -by- ...

Bài Viết Liên Quan

Chủ Đề