Nếu các mảng thực sự là hình dạng [10,1], thì chỉ cần concatenate:
In [60]: x,y,z = np.ones[[10,1],int], np.zeros[[10,1],int], np.arange[10][:,None]
In [61]: np.concatenate[[x,y,z], axis=1]
Out[61]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
Nếu chúng thực sự là 1D, bạn sẽ phải thốt lên với kích thước bằng cách này hay cách khác. Ví dụ, định hình lại hoặc thêm một chiều như tôi đã làm với z
ở trên. Hoặc sử dụng một số chức năng làm điều đó cho bạn:
In [62]: x,y,z = np.ones[[10,],int], np.zeros[[10,],int], np.arange[10]
In [63]: z.shape
Out[63]: [10,]
In [64]: np.array[[x,y,z]].shape
Out[64]: [3, 10]
In [65]: np.array[[x,y,z]].T # transpose
Out[65]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
In [62]: x,y,z = np.ones[[10,],int], np.zeros[[10,],int], np.arange[10]
In [63]: z.shape
Out[63]: [10,]
In [64]: np.array[[x,y,z]].shape
Out[64]: [3, 10]
In [65]: np.array[[x,y,z]].T # transpose
Out[65]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
0 tham gia các mảng trên một chiều mới ban đầu. Hãy nhớ rằng trong Python/Numpy Kích thước đầu tiên là phần ngoài cùng [Matlab là ngược lại].Các biến thể
In [62]: x,y,z = np.ones[[10,],int], np.zeros[[10,],int], np.arange[10]
In [63]: z.shape
Out[63]: [10,]
In [64]: np.array[[x,y,z]].shape
Out[64]: [3, 10]
In [65]: np.array[[x,y,z]].T # transpose
Out[65]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
1 điều chỉnh các kích thước, và sau đó làm In [62]: x,y,z = np.ones[[10,],int], np.zeros[[10,],int], np.arange[10]
In [63]: z.shape
Out[63]: [10,]
In [64]: np.array[[x,y,z]].shape
Out[64]: [3, 10]
In [65]: np.array[[x,y,z]].T # transpose
Out[65]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
2:In [66]: np.stack[[x,y,z],axis=1].shape
Out[66]: [10, 3]
In [67]: np.column_stack[[x,y,z]].shape
Out[67]: [10, 3]
In [68]: np.vstack[[x,y,z]].shape
Out[68]: [3, 10]
===
D0 =np.array[[[np.cos[2*np.pi*f*time]],[np.sin[2*np.pi*f*time]],np.ones[[len[time],1]].transpose[]],'float'].transpose[]
Tôi đoán
In [62]: x,y,z = np.ones[[10,],int], np.zeros[[10,],int], np.arange[10]
In [63]: z.shape
Out[63]: [10,]
In [64]: np.array[[x,y,z]].shape
Out[64]: [3, 10]
In [65]: np.array[[x,y,z]].T # transpose
Out[65]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
3 là vô hướng và In [62]: x,y,z = np.ones[[10,],int], np.zeros[[10,],int], np.arange[10]
In [63]: z.shape
Out[63]: [10,]
In [64]: np.array[[x,y,z]].shape
Out[64]: [3, 10]
In [65]: np.array[[x,y,z]].T # transpose
Out[65]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
4 là một mảng 1D [hình dạng [10,]][np.cos[2*np.pi*f*time]]
Kết thúc A [10,] trong
In [62]: x,y,z = np.ones[[10,],int], np.zeros[[10,],int], np.arange[10]
In [63]: z.shape
Out[63]: [10,]
In [64]: np.array[[x,y,z]].shape
Out[64]: [3, 10]
In [65]: np.array[[x,y,z]].T # transpose
Out[65]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
5, khi biến thành một mảng trở thành hình dạng [1,10].In [62]: x,y,z = np.ones[[10,],int], np.zeros[[10,],int], np.arange[10]
In [63]: z.shape
Out[63]: [10,]
In [64]: np.array[[x,y,z]].shape
Out[64]: [3, 10]
In [65]: np.array[[x,y,z]].T # transpose
Out[65]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
6 là [10,1] được chuyển thành [1,10].In [62]: x,y,z = np.ones[[10,],int], np.zeros[[10,],int], np.arange[10]
In [63]: z.shape
Out[63]: [10,]
In [64]: np.array[[x,y,z]].shape
Out[64]: [3, 10]
In [65]: np.array[[x,y,z]].T # transpose
Out[65]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
7 trong số này tạo ra một mảng [3,1,10]. Chuyển đổi đó là [10,1,3].Nếu bạn bỏ [] và hình dạng tạo ra [1,10] mảng:
D0 =np.array[[np.cos[2*np.pi*f*time], np.sin[2*np.pi*f*time], np.ones[[len[time]]]].transpose[]
sẽ tham gia 3 [10,] các mảng để thực hiện [3,10], sau đó chuyển sang [10,3].
Alternatively,
D0 =np.concatenate[[[np.cos[2*np.pi*f*time]], [np.sin[2*np.pi*f*time]], np.ones[[1,len[time],1]]], axis=0]
Tham gia các mảng 3 [1,10] để tạo một [3,10], mà bạn có thể chuyển vị.
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].
Trục, tùy chọnint, optionalCá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.
Kiểm soát loại đúc dữ liệu có thể xảy ra. Mặc định là ‘giống nhau_kind.
ReturnSresndarray
In [62]: x,y,z = np.ones[[10,],int], np.zeros[[10,],int], np.arange[10]
In [63]: z.shape
Out[63]: [10,]
In [64]: np.array[[x,y,z]].shape
Out[64]: [3, 10]
In [65]: np.array[[x,y,z]].T # transpose
Out[65]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
8Các mảng được nối.
In [62]: x,y,z = np.ones[[10,],int], np.zeros[[10,],int], np.arange[10]
In [63]: z.shape
Out[63]: [10,]
In [64]: np.array[[x,y,z]].shape
Out[64]: [3, 10]
In [65]: np.array[[x,y,z]].T # transpose
Out[65]:
array[[[1, 0, 0],
[1, 0, 1],
[1, 0, 2],
[1, 0, 3],
[1, 0, 4],
[1, 0, 5],
[1, 0, 6],
[1, 0, 7],
[1, 0, 8],
[1, 0, 9]]]
9Xem thêm
In [66]: np.stack[[x,y,z],axis=1].shape
Out[66]: [10, 3]
In [67]: np.column_stack[[x,y,z]].shape
Out[67]: [10, 3]
In [68]: np.vstack[[x,y,z]].shape
Out[68]: [3, 10]
0Chức năng Concatenate bảo tồn mặt nạ đầu vào.
In [66]: np.stack[[x,y,z],axis=1].shape
Out[66]: [10, 3]
In [67]: np.column_stack[[x,y,z]].shape
Out[67]: [10, 3]
In [68]: np.vstack[[x,y,z]].shape
Out[68]: [3, 10]
1Chia mảng thành nhiều mảng phụ theo chiều ngang [cột khôn ngoan].
In [66]: np.stack[[x,y,z],axis=1].shape
Out[66]: [10, 3]
In [67]: np.column_stack[[x,y,z]].shape
Out[67]: [10, 3]
In [68]: np.vstack[[x,y,z]].shape
Out[68]: [3, 10]
2Chia mảng thành nhiều mảng phụ theo chiều dọc [hàng khôn ngoan].
In [66]: np.stack[[x,y,z],axis=1].shape
Out[66]: [10, 3]
In [67]: np.column_stack[[x,y,z]].shape
Out[67]: [10, 3]
In [68]: np.vstack[[x,y,z]].shape
Out[68]: [3, 10]
3Chia mảng thành nhiều mảng con dọc theo trục thứ 3 [độ sâu].
In [66]: np.stack[[x,y,z],axis=1].shape
Out[66]: [10, 3]
In [67]: np.column_stack[[x,y,z]].shape
Out[67]: [10, 3]
In [68]: np.vstack[[x,y,z]].shape
Out[68]: [3, 10]
4Xếp một chuỗi các mảng dọc theo một trục mới.
In [66]: np.stack[[x,y,z],axis=1].shape
Out[66]: [10, 3]
In [67]: np.column_stack[[x,y,z]].shape
Out[67]: [10, 3]
In [68]: np.vstack[[x,y,z]].shape
Out[68]: [3, 10]
5Lắp ráp các mảng từ các khối.
In [66]: np.stack[[x,y,z],axis=1].shape
Out[66]: [10, 3]
In [67]: np.column_stack[[x,y,z]].shape
Out[67]: [10, 3]
In [68]: np.vstack[[x,y,z]].shape
Out[68]: [3, 10]
6Các mảng ngăn xếp theo thứ tự theo chiều ngang [cột khôn ngoan].
In [66]: np.stack[[x,y,z],axis=1].shape
Out[66]: [10, 3]
In [67]: np.column_stack[[x,y,z]].shape
Out[67]: [10, 3]
In [68]: np.vstack[[x,y,z]].shape
Out[68]: [3, 10]
7Các mảng xếp theo trình tự theo chiều dọc [hàng khôn ngoan].
In [66]: np.stack[[x,y,z],axis=1].shape
Out[66]: [10, 3]
In [67]: np.column_stack[[x,y,z]].shape
Out[67]: [10, 3]
In [68]: np.vstack[[x,y,z]].shape
Out[68]: [3, 10]
8Các mảng ngăn xếp theo trình tự độ sâu khôn ngoan [dọc theo chiều thứ ba].
In [66]: np.stack[[x,y,z],axis=1].shape
Out[66]: [10, 3]
In [67]: np.column_stack[[x,y,z]].shape
Out[67]: [10, 3]
In [68]: np.vstack[[x,y,z]].shape
Out[68]: [3, 10]
9Xế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]