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ố 8Chú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] array0
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] array1
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] array2
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] array36,
array = np.arange[9] array37,
array = np.arange[9] array38,
array = np.arange[9] array39
Lưu ý rằng trong Python NumPy,
array = np.arange[9] array80 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] array81
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] array35 để 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] array3
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] array8
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] array83, 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] array84 để 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] array84 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] array83 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] array37. 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] array8
6. Sử dụng NumPy. hàm vstack[]
Bạn có thể sử dụng
array = np.arange[9] array88 để sắp xếp các mảng theo thứ tự theo chiều dọc
array = np.arange[9] array31
Sản lượng dưới sản lượng
array = np.arange[9] array32
7. sử dụng numpy. dstack[] Chức năng nối các mảng
Sử dụng
array = np.arange[9] array89 để xếp theo chiều cao, bằng với chiều sâu
array = np.arange[9] array33
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] array83
array = np.arange[9] array34
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] array36,
array = np.arange[9] array37,
array = np.arange[9] array38,
array = np.arange[9] array39 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