Bởi vì cả
np.concatenate[[a, b], axis=1]
array[[[ 1, 5, 9, 3, 7, 11],
[ 2, 6, 10, 4, 8, 12]]]
0 và np.concatenate[[a, b], axis=1]
array[[[ 1, 5, 9, 3, 7, 11],
[ 2, 6, 10, 4, 8, 12]]]
1 chỉ có một trục, vì hình dạng của chúng là np.concatenate[[a, b], axis=1]
array[[[ 1, 5, 9, 3, 7, 11],
[ 2, 6, 10, 4, 8, 12]]]
2 và tham số trục đặc biệt đề cập đến trục của các yếu tố để nối.Ví dụ này sẽ làm rõ những gì
np.concatenate[[a, b], axis=1]
array[[[ 1, 5, 9, 3, 7, 11],
[ 2, 6, 10, 4, 8, 12]]]
3 đang làm với trục. Lấy hai vectơ với hai trục, với hình dạng np.concatenate[[a, b], axis=1]
array[[[ 1, 5, 9, 3, 7, 11],
[ 2, 6, 10, 4, 8, 12]]]
4:a = np.array[[[1,5,9], [2,6,10]]]
b = np.array[[[3,7,11], [4,8,12]]]
Các mối quan hệ dọc theo trục 1 [hàng của 1st, sau đó là các hàng của thứ 2]:
np.concatenate[[a,b], axis=0]
array[[[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]]]
Các mối quan hệ dọc theo trục thứ 2 [các cột của số 1, sau đó là các cột của 2nd]:
np.concatenate[[a, b], axis=1]
array[[[ 1, 5, 9, 3, 7, 11],
[ 2, 6, 10, 4, 8, 12]]]
Để có được đầu ra mà bạn đã trình bày, bạn có thể sử dụng
np.concatenate[[a, b], axis=1]
array[[[ 1, 5, 9, 3, 7, 11],
[ 2, 6, 10, 4, 8, 12]]]
5a = np.array[[1,2,3]]
b = np.array[[4,5,6]]
np.vstack[[a, b]]
array[[[1, 2, 3],
[4, 5, 6]]]
Bạn vẫn có thể làm điều đó với
np.concatenate[[a, b], axis=1]
array[[[ 1, 5, 9, 3, 7, 11],
[ 2, 6, 10, 4, 8, 12]]]
3, nhưng bạn cần định hình lại chúng trước:np.concatenate[[a.reshape[1,3], b.reshape[1,3]]]
array[[[1, 2, 3],
[4, 5, 6]]]
Cuối cùng, như được đề xuất trong các bình luận, một cách để định hình lại chúng là sử dụng
np.concatenate[[a, b], axis=1]
array[[[ 1, 5, 9, 3, 7, 11],
[ 2, 6, 10, 4, 8, 12]]]
7:np.concatenate[[a[np.newaxis,:], b[np.newaxis,:]]]
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?
np.concatenate[[a,b], axis=0]
array[[[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]]]
0Là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.
np.concatenate[[a,b], axis=0]
array[[[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]]]
1Là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.
np.concatenate[[a,b], axis=0]
array[[[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]]]
2Ngoà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.concatenate[[a,b], axis=0]
array[[[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]]]
3Mộ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,
np.concatenate[[a,b], axis=0]
array[[[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]]]
4Chúng ta có thể sử dụng Numpy Vstack Vstack để tạo ra 2D có kích thước 2 × 4
np.concatenate[[a,b], axis=0]
array[[[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]]]
5Tương tự, với chuyển vị, chúng tôi nhận được 2D mảng 4 × 2 bằng VSTack.
np.concatenate[[a,b], axis=0]
array[[[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]]]
6Ví 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.
np.concatenate[[a,b], axis=0]
array[[[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]]]
7Là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.
np.concatenate[[a,b], axis=0]
array[[[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]]]
8Và 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
np.concatenate[[a,b], axis=0]
array[[[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]]]
9