У меня есть массив размером 19. Я хочу увеличить его размер до 30 (new_array).
size =len(VM)
index = np.linspace(1,size,size)/size
index30 = np.linspace(1,30,30)/30
new_array = np.empty(shape=30)
ВМ - это массив размером 19
index
[0.05263158 0.10526316 0.15789474 0.21052632 0.26315789 0.31578947
0.36842105 0.42105263 0.47368421 0.52631579 0.57894737 0.63157895
0.68421053 0.73684211 0.78947368 0.84210526 0.89473684 0.94736842
1. ]
index30
[0.03333333 0.06666667 0.1 0.13333333 0.16666667 0.2
0.23333333 0.26666667 0.3 0.33333333 0.36666667 0.4
0.43333333 0.46666667 0.5 0.53333333 0.56666667 0.6
0.63333333 0.66666667 0.7 0.73333333 0.76666667 0.8
0.83333333 0.86666667 0.9 0.93333333 0.96666667 1. ]
Для заполнения new_array:
Если мы рассмотрим первые два элемента массива индекса 0.05263158 0.10526316
, все значения массива index30 между этими двумя значениями,их соответствующие местоположения в new_array должны быть заполнены значением массива VM, которое соответствует расположению значения 0.05263158
в индексном массиве и так далее.Я могу использовать для циклов, чтобы сделать это, но я ищу более эффективный способ сделать это?.
Ввод:
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
Ожидаемый вывод:
[nan,1,1,2,3,3,4,5,5,6,6,7,8,8,9,10,10,11,12,12,13,13,14,15,15,16,17,17,18,19]