Hướng dẫn concatenate 1d array to 2d array python - nối mảng 1d với python mảng 2d

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!

numpy.concatenate ((a1, a2, ...), axis = 0, out = none, dtype = none, casting = "more_kind")#concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")#

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_like

Cá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).

Trục, tùy chọnint, optional

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, optional

Nế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 dtype

Nế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’}, optional

Kiể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ànresndarray

Kiể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)

Làm thế nào để bạn chuyển đổi một mảng 1D thành một mảng 2D trong Python?

Chúng ta hãy sử dụng nó để chuyển đổi mảng Numpy 1D của chúng tôi thành mảng 2D Numpy,..
mảng = np. Mảng ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]).
# Chuyển đổi mảng 1D thành mảng 2D Numpy gồm 2 hàng và 3 cột ..
ARR_2D = NP. Đổi lại (ARR, (2, 5)).
print(arr_2d).

Làm thế nào để tôi kết hợp hai mảng một hướng trong Python?

Trong các mảng incatenate numpy, chúng ta có thể dễ dàng sử dụng hàm np.concatenate (). Nó có thể được sử dụng để kết hợp hai mảng hoặc khôn ngoan hoặc cột. Hàm 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 với hàng thông minh có nghĩa là trục = 0.use the function np. concatenate(). It can be used to concatenate two arrays either row-wise or column-wise. Concatenate function can take two or more arrays of the same shape and by default, it concatenates row-wise which means axis=0.

Làm thế nào để bạn chuyển đổi mảng 1D sang 2D?

Sử dụng hàm định hình lại () để chuyển đổi mảng 1D thành mảng 2D Số lượng thành phần trong mỗi chiều xác định dạng của mảng.Chúng tôi có thể thêm hoặc xóa các tham số hoặc điều chỉnh số lượng mục trong mỗi chiều bằng cách sử dụng định hình lại.Để sửa đổi bố cục của Ndarray Numpy, chúng tôi sẽ sử dụng phương thức Reshape (). The number of components within every dimension defines the form of the array. We may add or delete parameters or adjust the number of items within every dimension by using reshaping. To modify the layout of a NumPy ndarray, we will be using the reshape() method.

Làm thế nào để bạn kết hợp 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.