специфичный способ расширения массива numpy

#python #arrays #numpy

#python #массивы #numpy

Вопрос:

У меня есть следующий массив numpy (в качестве примера):

 [0,1,5,4,3]
  

Есть ли какой-либо способ «повторить» этот массив, но определенным образом:
Мне нужен конечный массив формы 25, но расположенный таким образом, чтобы сначала у меня было 5 нулей, затем — 5 единиц, затем — 5 пятерок и т.д.
Пример желаемого результата:

 [0,0,0,0,0,1,1,1,1,1,
 5,5,5,5,5,4,4,4,4,4
 3,3,3,3,3]
  

если я это сделаю np.append(arr, arr) — это даст мне два начальных упорядоченных массива, и это не моя цель
Кстати, мой реальный массив не отсортирован и в конце должен остаться несортированным.

Заранее спасибо!

Ответ №1:

Используйте np.repeat .

 >>> np.repeat([0,1,5,4,3], 5)
array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3,
       3, 3, 3])