优化熊猫的滚动中位数计算

时间:2019-10-17 19:54:55

标签: python python-3.x pandas

我有一个看起来像这样的数据框:

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)

我想知道如何优化它以便更快地运行?

0 个答案:

没有答案