Оптимизация вычисления скользящего медиана в пандах - PullRequest
0 голосов
/ 17 октября 2019

У меня есть фрейм данных, который выглядит следующим образом:

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)

Мне интересно, как я могу его оптимизироватьбежать быстрее?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...