У меня есть фрейм данных, который выглядит следующим образом:
value | timestamp
2 | 2019-01-01
3 | 2019-01-02
4 | 2019-01-03
10 | 2019-01-08
20 | 2019-01-09
5 | 2019-01-10
И список интервалов, которые являются индексами фрейма данных, который выглядит следующим образом: idx = [0, 2, 3, 5]
Я хочуполучить новый фрейм данных с медианами, рассчитанными для каждого интервала, например:
median | start | end | duration
3 |2019-01-01 |2019-01-03| 2
7 |2019-01-03 |2019-01-08| 1
10 |2019-01-08 |2019-01-10| 2
Вот что у меня сейчас есть:
df = pd.DataFrame(columns=["median", "start", "end", "duration"])
for i in range(len(idx)-1):
start = idx[i]
end = idx[i+1]
df = df.append({
"median": df1.iloc[start:end+1]['co2ppm'].median(),
"start": df1['timestamp'][start],
"end": df1['timestamp'][end],
"duration": end-start
}, ignore_index=True)
Мне интересно, как я могу его оптимизироватьбежать быстрее?