Я не знаю ни одной встроенной функции numpy. Самый простой способ - создать простую функцию, которая берет два массива и возвращает нужный вектор, использующий два для циклов.
import numpy as np
def final(numbers, values):
n_values = len(values)
vector = np.zeros(np.sum(numbers))
counter = 0
for k in range(n_values):
for j in range(numbers[k]):
vector[counter] = values[k]
counter += 1
return vector
Number_of_Data = np.asarray([2, 4, 1, 2, 3, 6, 3])
Value = np.arange(0, 7, 1)
Final_Array = final(Number_of_Data, Value)
print(Final_Array)
Это возвращает
[ 0. 0. 1. 1. 1. 1. 2. 3. 3. 4. 4. 4. 5. 5. 5. 5. 5. 5. 6. 6. 6.]