У меня есть некоторые измерения каждые 100 мс. Я хочу уменьшить данные, выбирая данные каждые 10 секунд или, по крайней мере, самое близкое значение.
Здесь я делаю небольшую серию, например, с 10 с.
Я использую цикл, но я хочу найти простой способ сделать это без.
Предложение?
import pandas as pd
import numpy as np
data = pd.Series([0, 1, 2, 8,11,12,26,27,28,31,40,49])
time_span = 10
delta_time = 3
time_10s = np.arange(0,int((max(data)//10)*10)+1,10)
index_list = []
for elt in time_10s:
min_index = abs(data-elt).idxmin()
min_value = abs(data-elt).min()
if min_value < delta_time:
index_list.append(abs(data-elt).idxmin())
print(data[index_list])
Я тоже пытался с некоторым модулем, но ничего не дает:
A = data % time_span < delta_time
B = data % time_span > (time_span - delta_time)
C = A | B
D = data[C == True].index.values
Спасибо