Tôi đang cố gắng kết hợp 4 mảng, một mảng 1D của hình dạng [78427,] và 3 mảng hình dạng 2D [78427, 375/81/103]. Về cơ bản, đây là 4 mảng có các tính năng cho hình ảnh 78427, trong đó mảng 1D chỉ có 1 giá trị cho mỗi hình ảnh.
Tôi đã thử kết hợp các mảng như sau:
>>> print X_Cscores.shape
[78427, 375]
>>> print X_Mscores.shape
[78427, 81]
>>> print X_Tscores.shape
[78427, 103]
>>> print X_Yscores.shape
[78427,]
>>> np.concatenate[[X_Cscores, X_Mscores, X_Tscores, X_Yscores], axis=1]
Điều này dẫn đến lỗi sau:
Traceback [cuộc gọi gần đây nhất cuối cùng]: Tệp "", dòng 1, trong valueError: Tất cả các mảng đầu vào phải có cùng một số kích thước
Vấn đề dường như là mảng 1D, nhưng tôi thực sự không thể thấy tại sao [nó cũng có 78427 giá trị]. Tôi đã cố gắng chuyển đổi mảng 1D trước khi kết hợp nó, nhưng điều đó cũng không hoạt động.
Bất kỳ sự giúp đỡ nào về phương pháp phù hợp để kết hợp các mảng này sẽ được đánh giá cao!
Tham gia một chuỗi các mảng dọc theo một trục hiện có.
Parametersa1, A2, trình tự của Array_likea1, a2, …sequence of array_likeCác mảng phải có hình dạng tương tự, ngoại trừ trong kích thước tương ứng với trục [theo mặc định, theo mặc định].
Các trục dọc theo đó các mảng sẽ được nối. Nếu trục là không, các mảng được làm phẳng trước khi sử dụng. Mặc định là 0.
Outndarray, tùy chọnndarray, optionalNếu được cung cấp, điểm đến để đặt kết quả. Hình dạng phải đúng, phù hợp với những gì Concatenate sẽ trở lại nếu không có đối số nào được chỉ định.
DTYPEST hoặc DTYPEstr or dtypeNếu được cung cấp, mảng đích sẽ có DTYPE này. Không thể được cung cấp cùng với ra ngoài.
Mới trong phiên bản 1.20.0.
Đúc {‘no,’ tương đương, ’an toàn{‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’}, optionalKiểm soát loại đúc dữ liệu có thể xảy ra. Mặc định là ‘giống nhau_kind.
Mới trong phiên bản 1.20.0.
Đúc {‘no,’ tương đương, ’an toànresndarrayKiểm soát loại đúc dữ liệu có thể xảy ra. Mặc định là ‘giống nhau_kind.
ReturnSresndarray
ma.concatenate
Các mảng được nối.
array_split
Xem thêm
split
Chức năng Concatenate bảo tồn mặt nạ đầu vào.
hsplit
Chia một mảng thành nhiều mép phụ có kích thước bằng hoặc gần bằng nhau.
Chia mảng thành một danh sách nhiều mảng phụ có kích thước bằng nhau.Chia mảng thành nhiều mảng phụ theo chiều ngang [cột khôn ngoan].
dsplit
vsplit
stack
Chia mảng thành nhiều mảng phụ theo chiều dọc [hàng khôn ngoan].
>>> a = np.array[[[1, 2], [3, 4]]] >>> b = np.array[[[5, 6]]] >>> np.concatenate[[a, b], axis=0] array[[[1, 2], [3, 4], [5, 6]]] >>> np.concatenate[[a, b.T], axis=1] array[[[1, 2, 5], [3, 4, 6]]] >>> np.concatenate[[a, b], axis=None] array[[1, 2, 3, 4, 5, 6]]0
Chia mảng thành nhiều mảng con dọc theo trục thứ 3 [độ sâu].
>>> a = np.array[[[1, 2], [3, 4]]] >>> b = np.array[[[5, 6]]] >>> np.concatenate[[a, b], axis=0] array[[[1, 2], [3, 4], [5, 6]]] >>> np.concatenate[[a, b.T], axis=1] array[[[1, 2, 5], [3, 4, 6]]] >>> np.concatenate[[a, b], axis=None] array[[1, 2, 3, 4, 5, 6]]1
Xếp một chuỗi các mảng dọc theo một trục mới.
>>> a = np.array[[[1, 2], [3, 4]]] >>> b = np.array[[[5, 6]]] >>> np.concatenate[[a, b], axis=0] array[[[1, 2], [3, 4], [5, 6]]] >>> np.concatenate[[a, b.T], axis=1] array[[[1, 2, 5], [3, 4, 6]]] >>> np.concatenate[[a, b], axis=None] array[[1, 2, 3, 4, 5, 6]]2
Lắp ráp các mảng từ các khối.
>>> a = np.array[[[1, 2], [3, 4]]] >>> b = np.array[[[5, 6]]] >>> np.concatenate[[a, b], axis=0] array[[[1, 2], [3, 4], [5, 6]]] >>> np.concatenate[[a, b.T], axis=1] array[[[1, 2, 5], [3, 4, 6]]] >>> np.concatenate[[a, b], axis=None] array[[1, 2, 3, 4, 5, 6]]3
Các mảng ngăn xếp theo trình tự độ sâu khôn ngoan [dọc theo chiều thứ ba].
>>> a = np.array[[[1, 2], [3, 4]]] >>> b = np.array[[[5, 6]]] >>> np.concatenate[[a, b], axis=0] array[[[1, 2], [3, 4], [5, 6]]] >>> np.concatenate[[a, b.T], axis=1] array[[[1, 2, 5], [3, 4, 6]]] >>> np.concatenate[[a, b], axis=None] array[[1, 2, 3, 4, 5, 6]]4
Xếp các mảng 1-D dưới dạng các cột thành một mảng 2-D.
Ghi chú
Khi một hoặc nhiều mảng được nối là MaskedArray, chức năng này sẽ trả về một đối tượng MaskedArray thay vì ndarray, nhưng mặt nạ đầu vào không được bảo quản. Trong trường hợp được mong đợi một mặt nạ được dự kiến làm đầu vào, hãy sử dụng hàm ma.concatenate từ mô -đun mảng đeo mặt nạ.
Ví dụ
>>> a = np.array[[[1, 2], [3, 4]]] >>> b = np.array[[[5, 6]]] >>> np.concatenate[[a, b], axis=0] array[[[1, 2], [3, 4], [5, 6]]] >>> np.concatenate[[a, b.T], axis=1] array[[[1, 2, 5], [3, 4, 6]]] >>> np.concatenate[[a, b], axis=None] array[[1, 2, 3, 4, 5, 6]]
Chức năng này sẽ không bảo tồn mặt nạ của đầu vào MaskedArray.
>>> a = np.ma.arange[3] >>> a[1] = np.ma.masked >>> b = np.arange[2, 5] >>> a masked_array[data=[0, --, 2], mask=[False, True, False], fill_value=999999] >>> b array[[2, 3, 4]] >>> np.concatenate[[a, b]] masked_array[data=[0, 1, 2, 2, 3, 4], mask=False, fill_value=999999] >>> np.ma.concatenate[[a, b]] masked_array[data=[0, --, 2, 2, 3, 4], mask=[False, True, False, False, False, False], fill_value=999999]