Hướng dẫn how do you merge 2d arrays in python? - làm thế nào để bạn hợp nhất các mảng 2d trong python?

Nó thực sự khá đơn giản, miễn là tất cả các mảng có cùng kích thước.

>>> a = [[0,1,2],[3,4,5]]
>>> b = [[6,7,8],[9,10,11]]
>>> c = [a[i]+b[i] for i in xrange[len[a]]]
>>> c
[[0, 1, 2, 6, 7, 8], [3, 4, 5, 9, 10, 11]]

hoặc tốt hơn

sum2darray = lambda a, b:  [a[i]+b[i] for i in xrange[len[a]]]
c = sum2darray[a,b]

Numpy Concatenate mảng

Thường thì bạn có thể có hai hoặc nhiều mảng numpy và muốn kết nối/tham gia/hợp nhất chúng thành một mảng duy nhất. Python cung cấp nhiều tùy chọn để tham gia/kết hợp các mảng numpy.

Các hoạt động phổ biến bao gồm hai mép 2D, làm thế nào chúng ta có thể kết hợp chúng với hàng khôn ngoan hoặc cột khôn ngoan. Chức năng Numpy từ Concatenate cho phép bạn nối hai mảng bằng các hàng hoặc theo cột. Hãy cho chúng tôi xem một vài ví dụ về chức năng liên kết Numpy.

Trước tiên chúng ta hãy nhập gói Numpy.

# import numpy
import numpy as np

Chúng ta hãy tạo một mảng numpy bằng cách sử dụng chức năng Arange trong Numpy. Mảng 1d bắt đầu lúc 0 và kết thúc lúc 8

array = np.arange[9]
array

Chúng ta có thể sử dụng chức năng định hình lại Numpy, để chuyển đổi mép 1D thành 2D mảng kích thước 3 × 3, 3 hàng và 3 cột. Chức năng định hình lại của Numpy lấy một bộ xử lý làm đầu vào.

array2D_1 = array.reshape[[3,3]]
array2D_1

array[[[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]]]

Hãy để chúng tôi tạo mảng 2D thứ hai bằng cách sử dụng các hàm Arange và định hình lại. Mảng 2D thứ hai bắt đầu ở 10 và kết thúc ở 18

>array2D_2 = np.arange[10,19].reshape[3,3]
>array2D_2

array[[[10, 11, 12],
       [13, 14, 15],
       [16, 17, 18]]]

Numpy concatenate

Có thể sử dụng chức năng Numpy từ Concatenate để kết hợp hai mảng hoặc khôn ngoan theo hàng hoặc theo cột. Chức năng Concatenate có thể lấy hai hoặc nhiều mảng có cùng hình dạng và theo mặc định, nó kết hợp hàng theo nghĩa, tức là trục = 0. Mảng kết quả sau khi ghép nối hàng với hình dạng 6 x 3, tức là 6 hàng và 3 cột.

Làm thế nào để kết hợp 2 mảng numpy hàng ngày?

# concatenate 2 numpy arrays: row-wise
>np.concatenate[[array2D_1, array2D_2]]

array[[[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [10, 11, 12],
       [13, 14, 15],
       [16, 17, 18]]]

Làm thế nào để kết hợp 2 mảng numpy thông minh?

Chúng ta cũng có thể kết hợp 2 mảng numpy theo cột khôn ngoan bằng cách chỉ định trục = 1. Bây giờ mảng kết quả là một ma trận rộng với nhiều cột hơn các hàng; Trong ví dụ này, 3 hàng và 6 cột.

# concatenate 2 numpy arrays: column-wise
>np.concatenate[[array2D_1,array2D_2],axis=1]
array[[[ 0,  1,  2, 10, 11, 12],
       [ 3,  4,  5, 13, 14, 15],
       [ 6,  7,  8, 16, 17, 18]]]

Làm thế nào để kết hợp nhiều hơn 2 mảng numpy khôn ngoan?

Chức năng Numpy từ Concatenate có thể được sử dụng với hơn 2 mảng. Dưới đây là một ví dụ về việc kết hợp 3 mảng numpy. Chúng tôi chỉ định ba mảng mà chúng tôi muốn kết hợp như một tuple.

# concatenate 3 numpy arrays: row-wise
>np.concatenate[[array2D_1, array2D_2, array2D_1]]
array[[[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [10, 11, 12],
       [13, 14, 15],
       [16, 17, 18],
       [ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8]]]

Ngoài chức năng Concatenate, Numpy cũng cung cấp hai chức năng thuận tiện Hstack và Vstack để xếp/kết hợp các mảng theo chiều ngang hoặc chiều dọc.

Cả Hstack và Vstack, dưới mui xe gọi trên Concatenate với Axis = 1 và Axis = 0 Tùy chọn.

Dưới đây là các ví dụ về việc sử dụng Hstack và Vstack.

Ví dụ Vstack Numpy

Numpy sườn Vstack ngăn xếp các mảng theo trình tự theo chiều dọc, tức là hàng khôn ngoan. Và kết quả giống như sử dụng incatenate với trục = 0.

>np.vstack[[array2D_1, array2D_2]]

array[[[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [10, 11, 12],
       [13, 14, 15],
       [16, 17, 18]]]

Một cách sử dụng phổ biến khác của Numpy từ Hstack là sử dụng nó để kết hợp hai mảng 1D-numpy với một mảng 2D. Ví dụ: nếu chúng ta có hai mảng một chiều,

sum2darray = lambda a, b:  [a[i]+b[i] for i in xrange[len[a]]]
c = sum2darray[a,b]
0

Chúng ta có thể sử dụng Numpy Vstack Vstack để tạo ra 2D có kích thước 2 × 4

sum2darray = lambda a, b:  [a[i]+b[i] for i in xrange[len[a]]]
c = sum2darray[a,b]
1

Tương tự, với chuyển vị, chúng tôi nhận được 2D mảng 4 × 2 bằng VSTack.

sum2darray = lambda a, b:  [a[i]+b[i] for i in xrange[len[a]]]
c = sum2darray[a,b]
2

Ví dụ Hstack Numpy

Numpy sườn hstack stacks mảng theo chiều ngang, tức là cột khôn ngoan. Và kết quả giống như sử dụng Concatenate với trục = 1.

sum2darray = lambda a, b:  [a[i]+b[i] for i in xrange[len[a]]]
c = sum2darray[a,b]
3

Làm thế nào để kết hợp nhiều mảng 1D?

Chức năng liên kết Numpy cũng có thể được sử dụng để kết hợp nhiều hơn hai mảng numpy. Dưới đây là một ví dụ, trong đó chúng tôi có ba mảng 1D-numpy và chúng tôi kết hợp ba mảng vào một mảng 1D duy nhất.

Hãy sử dụng Tạo ba mép 1D trong Numpy.

sum2darray = lambda a, b:  [a[i]+b[i] for i in xrange[len[a]]]
c = sum2darray[a,b]
4

Và chúng ta có thể sử dụng np.concatenate với ba mảng numpy trong danh sách làm đối số để kết hợp thành một marray 1D

sum2darray = lambda a, b:  [a[i]+b[i] for i in xrange[len[a]]]
c = sum2darray[a,b]
5

Làm thế nào để bạn tham gia một mảng 2D?

Để khai báo một mảng 2D, chỉ định loại phần tử sẽ được lưu trữ trong mảng, sau đó [[] []] để hiển thị rằng đó là một mảng 2D thuộc loại đó, sau đó mảng. Lưu ý rằng các khai báo bên dưới chỉ đặt tên cho biến và nói loại mảng nào nó sẽ tham khảo.specify the type of elements that will be stored in the array, then [ [][] ] to show that it is a 2D array of that type, then at least one space, and then a name for the array. Note that the declarations below just name the variable and say what type of array it will reference.

Làm thế nào bạn sẽ tham gia hai mảng trong Python?

Tham gia các mảng bằng các hàm ngăn xếp, chúng ta có thể kết hợp hai mảng 1-D dọc theo trục thứ hai, điều này sẽ dẫn đến việc đặt chúng lên cái kia, tức là.xếp chồng.Chúng tôi vượt qua một chuỗi các mảng mà chúng tôi muốn tham gia vào phương thức Stack [] cùng với trục.Nếu trục không được truyền rõ ràng, nó sẽ được lấy là 0.Using Stack Functions We can concatenate two 1-D arrays along the second axis which would result in putting them one over the other, ie. stacking. We pass a sequence of arrays that we want to join to the stack[] method along with the axis. If axis is not explicitly passed it is taken as 0.

Làm thế nào để bạn tổng hợp hai mảng 2D trong Python?

Trong hướng dẫn này, chúng tôi sẽ tìm thấy tổng của một mảng 2D sử dụng hàm MAP trong Python ...
Khởi tạo mảng 2D bằng danh sách ..
Chuyển tổng chức năng và mảng 2D cho chức năng bản đồ ..
Tìm tổng của đối tượng bản đồ kết quả và in nó ..

Làm cách nào để hợp nhất hai mảng thành một khung dữ liệu trong Python?

Chúng ta có thể sử dụng np.column_stack [] để kết hợp hai mảng 1-D x và y thành mảng 2-D.Sau đó, chúng ta có thể sử dụng PD.DataFrame để thay đổi nó thành một DataFrame.use np. column_stack[] to combine two 1-D arrays X and Y into a 2-D array. Then, we can use pd. DataFrame to change it into a dataframe.

Bài Viết Liên Quan

Chủ Đề