у меня 3 Numpy arrays each of length 107952899
.
Скажем:
1. Time = [2.14579526e+08 2.14579626e+08 2.14579726e+08 ...1.10098692e+10 1.10098693e+10]
2. Speed = [0.66 0.66 0.66 .............0.06024864 0.06014756]
3. Brak_press = [0.3, 0.3, 0.3 .............. 0.3, 0.3]
Что это значит
Каждое значение индекса во времени соответствует одному и тому же значению индекса в массиве скорости и тормоза.
Time Speed Brake
2.14579526e+08 0.66 0.3
.
.
Требование
№ 1: Я хочу find the indices in Speed array
, чьи values
внутри greater than 20
№ 2: дляэти индексы, what will be values in Brake Array
№ 3: Теперь я хочу найти Top N Maximum Value indices in Brake Array
и сохранить его в другом списке / массиве
Итак, наконец, если я возьму один индекс из Top N Maximum Indices
и используюв массиве Brake & Speed он должен показывать ..
Brake[idx] = valid Value & more importantly Speed [idx] = Value > than 20
Общее резюме
Проще говоря, мне нужно найти индексы точки максимума N, соответствующие значения скорости которых должны быть большечем 20
Что я пробовал
speed_20 = np.where(Speed > 20) # I got indices as tupple
brake_values = Brake[speed_20] # Found the Brake Values corresponds to speed_20 indices
После этого я пробовал argsort / argpartition, но ни один из результатов не соответствует моему требованию
Запрос
Я верю тамбудет лучшим способом сделать это .. Пожалуйста, пролите немного света
(я преобразовал вышеупомянутые np arrays
в pandas df
, все работает нормально, из-за проблем с памятью, которые я предпочитаю делать с использованием пустых операций)