Python kết hợp hai vectơ thành một ma trận

Thường thì bạn có thể có hai hoặc nhiều mảng NumPY và muốn nối/nối/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 để nối/nối các mảng NumPy

Các hoạt động phổ biến bao gồm hai mảng 2d đã cho, làm cách nào chúng ta có thể nối chúng theo hàng hoặc theo cột. Hàm nối của NumPy cho phép bạn nối hai mảng theo hàng hoặc theo cột. Chúng ta hãy xem một vài ví dụ về chức năng nối của NumPy

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

# import numpy
import numpy as np

Hãy để chúng tôi tạo một mảng NumPy bằng hàm arange trong NumPy. Mảng 1d bắt đầu từ 0 và kết thúc ở 8

array = np.arange[9]
array

Chúng ta có thể sử dụng chức năng định hình lại của NumPy để chuyển đổi mảng 1d thành mảng 2d có kích thước 3×3, 3 hàng và 3 cột. Chức năng định hình lại NumPy lấy một Tuple 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 sắp xếp lại và định hình lại. Mảng 2d thứ hai bắt đầu từ 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]]]

nối NumPy

Hàm nối của NumPy có thể được sử dụng để nối hai mảng theo hàng hoặc theo cột. Hàm nối có thể nhận hai hoặc nhiều mảng có cùng hình dạng và theo mặc định, nó nối theo hàng i. e. trục=0. Mảng kết quả sau khi nối theo hàng có dạng 6 x 3, i. e. 6 hàng và 3 cột

Làm cách nào để nối 2 mảng NumPy theo hàng?

# 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 cách nào để nối 2 mảng NumPy theo cột?

Chúng ta cũng có thể nối 2 mảng NumPy theo cột bằng cách chỉ định axis=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 hàng;

# 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 cách nào để nối nhiều hơn 2 mảng NumPy theo hàng?

Hàm nối của NumPy có thể được sử dụng với hơn 2 mảng. Dưới đây là một ví dụ về nối 3 mảng NumPy theo hàng. Chúng tôi chỉ định ba mảng mà chúng tôi muốn nối thành một bộ

# 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 nối, NumPy còn cung cấp hai chức năng tiện lợi là 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 concatenate với các tùy chọn axis =1 và axis=0

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

Ví dụ vstack NumPy

Vstack của NumPy sắp xếp các mảng theo thứ tự theo chiều dọc i. e. hàng khôn ngoan. Và kết quả giống như sử dụng nối với axis=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 hstack của Numpy là sử dụng nó để kết hợp hai mảng 1d-numpy thành một mảng 2d-numpy. Ví dụ, nếu chúng ta có hai mảng một chiều,

________số 8

Chúng ta có thể sử dụng vstack của Numpy để tạo mảng 2d có kích thước 2×4

print[np.vstack[[x, y]]]
[[1. 1. 1. 1.]
 [1. 2. 3. 4.]]

Tương tự với transpose ta được mảng 2d 4×2 dùng vstack

array = np.arange[9]
array
0

Ví dụ hstack NumPy

Hstack của NumPy sắp xếp các mảng theo chiều ngang i. e. cột khôn ngoan. Và kết quả giống như sử dụng nối với axis=1

array = np.arange[9]
array
1

Làm cách nào để nối nhiều mảng 1d?

Hàm nối của NumPy cũng có thể được sử dụng để nối nhiều hơn hai mảng có nhiều mảng. Đây là một ví dụ, trong đó chúng tôi có ba mảng 1d-numpy và chúng tôi nối ba mảng thành một mảng 1d duy nhất

Hãy sử dụng tạo ba mảng 1d trong NumPy

array = np.arange[9]
array
2

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

Làm cách nào để nối các mảng NumPy trong Python? . Ghép nối đề cập đến việc đặt nội dung của hai hoặc nhiều mảng trong một mảng. Trong Python NumPy, chúng ta có thể nối các mảng theo trục [dọc hoặc ngang], trong khi trong SQL, chúng ta nối các bảng dựa trên các khóa

Bạn có thể chuyển một chuỗi các mảng mà bạn muốn nối vào hàm concatenate[], cùng với trục. Nếu trục không được thông qua một cách rõ ràng, nó được lấy bằng 0. Trong bài viết này, tôi sẽ giải thích cách nối các mảng NumPy [ndarray] với các ví dụ bằng cách sử dụng các hàm như concatenate[],

array = np.arange[9]
array
36,
array = np.arange[9]
array
37,
array = np.arange[9]
array
38,
array = np.arange[9]
array
39

Lưu ý rằng trong Python NumPy, 

array = np.arange[9]
array
80 là một mảng đa chiều, đồng nhất gồm các mục có kích thước cố định cùng loại. Bạn có thể tạo đối tượng ndarray bằng cách sử dụng 
array = np.arange[9]
array
81

1. Ví dụ nhanh về mảng nối NumPy

Nếu bạn đang vội, dưới đây là một số ví dụ nhanh về cách hợp nhất hai mảng NumPy. Ngoài ra, bạn cũng có thể sử dụng NumPy. hàm append[] nối thêm mảng

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

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

Hãy xem từng ví dụ này

2. Ghép các mảng NumPy

Sử dụng

array = np.arange[9]
array
35 để hợp nhất nội dung của hai hoặc nhiều mảng thành một mảng. Hàm này lấy một số đối số cùng với các mảng NumPy để nối và trả về một mảng Numpy ndarray. Lưu ý rằng phương thức này cũng lấy axis làm đối số khác, khi không được chỉ định, nó sẽ mặc định là 0

Ghép nối đề cập đến việc đặt nội dung của hai hoặc nhiều mảng trong một mảng. Trong Python NumPy, chúng ta có thể nối các mảng theo trục [dọc hoặc ngang], trong khi trong SQL, chúng ta nối các bảng dựa trên các khóa

array = np.arange[9]
array
3

Sản lượng dưới sản lượng. Nếu bạn nhận thấy nó chỉ nối thêm các phần tử từ mảng thứ hai vào mảng đầu tiên và trả về một mảng NumPy mới

array = np.arange[9]
array
8

3. sử dụng numpy. nối [] với trục = 1

Bạn cũng có thể nối hai mảng NumPy theo cột bằng cách chỉ định axis=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 hàng. Với

array = np.arange[9]
array
83, nó trả về một mảng các mảng [Mảng lồng nhau]

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

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

Sản lượng dưới sản lượng

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

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

Bây giờ hãy xem cách hợp nhất các mảng NumPy lồng nhau

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

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

Sản lượng dưới sản lượng

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

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

4. sử dụng numpy. stack[] Chức năng tham gia mảng

Ngoài ra, hãy sử dụng hàm

array = np.arange[9]
array
84 để nối một chuỗi các mảng dọc theo một trục mới. Bạn chuyển một chuỗi các mảng mà bạn muốn nối vào hàm
array = np.arange[9]
array
84 cùng với trục. Nếu trục không được thông qua một cách rõ ràng, nó được lấy bằng không

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

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

Sản lượng dưới sản lượng. Vì tôi đã sử dụng

array = np.arange[9]
array
83 nên nó được nối trên các cột

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

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

5. Sử dụng NumPy. Hàm hstack []

Tương tự, bạn cũng có thể nối các mảng theo chiều ngang trong Python NumPy bằng hàm

array = np.arange[9]
array
37. hstack[] được sử dụng để xếp mảng theo chiều ngang

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

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

Sản lượng dưới sản lượng

array = np.arange[9]
array
8

6. Sử dụng NumPy. hàm vstack[]

Bạn có thể sử dụng

array = np.arange[9]
array
88 để sắp xếp các mảng theo thứ tự theo chiều dọc

array = np.arange[9]
array
31

Sản lượng dưới sản lượng

array = np.arange[9]
array
32

7. sử dụng numpy. dstack[] Chức năng nối các mảng

Sử dụng

array = np.arange[9]
array
89 để xếp theo chiều cao, bằng với chiều sâu

array = np.arange[9]
array
33

Sản lượng dưới sản lượng. Đầu ra này giống như sử dụng

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

array[[[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]]]
50 với
array = np.arange[9]
array
83

array = np.arange[9]
array
34

8. Sự kết luận

Trong bài viết này, tôi đã giải thích cách nối NumPy hai hoặc nhiều mảng bằng cách sử dụng

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

array[[[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]]]
50,
array = np.arange[9]
array
36,
array = np.arange[9]
array
37,
array = np.arange[9]
array
38,
array = np.arange[9]
array
39 với các ví dụ. Ghép nối đề cập đến việc đặt nội dung của hai hoặc nhiều mảng trong một mảng. Trong Python NumPy, chúng ta có thể nối các mảng theo trục [dọc hoặc ngang], trong khi trong SQL, chúng ta nối các bảng dựa trên các khóa

Chủ Đề