Как я могу создать матрицу numpy из другой?

#python

Вопрос:

У меня есть матрица numpy с 10 столбцами и 4 строками, заполненными только 0 и 1. Я хочу изменить только первую строку, используя срезы.

 mat = [[0,1,1,1,0,0,0,0,0,1]  [0,0,0,0,0,0,0,0,0,0]  [1,1,1,1,1,1,1,1,1,1]  [0,0,0,0,0,0,0,0,0,0]]  

срезается как точка посередине, так что строка становится

 [0,0,0,0,1,0,1,1,1,0]   

а остальная часть матрицы равна предыдущей.

Я пытался использовать эти кусочки, но я не знаю, как собрать их вместе.

 mat1 = mat[0,0:5] mat2 = mat[0,5:10]  

Комментарии:

1. np.concatenate((mat2, mat1)) ?

2. Я думаю, что не очень понятно, что вы пытаетесь сделать, может быть, более конкретно? mat[0,0:5] представляет собой массив ( первые пять элементов первой строки)

3. Привет @UlisesBussi , я пытаюсь разрезать исходную первую строку матрицы в mat1 и mat2, соединить их вместе (mat2, затем mat1) и создать новую матрицу, в которой будет изменена только первая строка, перевернув две половины. Я сделал это таким образом, потому что не знаю другого способа сделать это.

4. Теперь я понимаю! вы хотите изменить только первую строку, да, тогда вы можете объединить или hstack сделать срезы: newRow = np.hstack( [ mat[0,5:], mat[0,:5] ]) затем добавьте новую строку в исходную матрицу (или копию, если хотите сохранить исходную). Другой выбор-определить вектор с новыми индексами newOrd =[5,6,7,8,9,0,1,2,3,4] и сделать » mat[0,:] = mat[0,новое слово] `

5. @not_speshal хорошо, теперь как я могу поместить эту строку в качестве моей первой строки в коврик?