Я хотел бы создать функцию python для объединения нескольких матриц, это пример для двух матриц:
def create_matrix(number,rows,columns):
matrix=np.full((rows,columns),number)
return matrix
matrix1=create_matrix(0,1,2)
matrix2=create_matrix(1,1,3)
matrix3=create_matrix(2,1,4)
def concatenate_matrix(matrix1,matrix2):
vector_pacient=np.hstack((matrix1,matrix2))
return vector_pacient
print(concatenate_matrix(matrix1,matrix2))
print('result',concatenate_matrix(matrix1,matrix2).shape)
Это очень хорошо работает для двух матриц, которые я получил:
[[0 0 1 1 1]]
result shape (1, 5)
как я хотел, теперь я хочу объединить переменное число матриц, я попытался:
def concatenate_matrix2(*args):
for arg in args:
print(arg.shape)
vector_pacient=np.hstack(arg)
return vector_pacient
print(concatenate_matrix2(matrix1,matrix2,matrix3))
print(concatenate_matrix2(matrix1,matrix2,matrix3).shape)
однако я получил:
(1, 2)
(1, 3)
(1, 4)
[2 2 2 2]
(1, 2)
(1, 3)
(1, 4)
result shape (4,)
Я не понял, где ошибка, он должен иметь форму:
(1,9)
и следующую матрицу:
[[0 0 1 1 1 2 2 2 2]]
Поэтому я хотел бы поблагодарить за предложения по исправлению моего кода.