按 windows 索引,在 pandas DF 上有步长差距

indexing by windows with step gap over a pandas DF

我的 df 是日期戳索引。 我需要将它分成两个不同的 df,固定 window(例如 2 天),这样交替进行:

df1 = 黄色 ans df2 白色

非常感谢您的帮助

假设输入以下示例:

import pandas as pd
import numpy as np

df = pd.DataFrame({'date': pd.date_range('2021-01-01', '2021-01-14'),
                   'value': np.random.randint(0, 100, size=14)
                  })

如果你有一个范围索引,你可以用它来计算一个组并拆分:

out = dict(list(df.groupby(df.index//2%2)))

输出:

>>> out[0]
         date  value
0  2021-01-01      5
1  2021-01-02     35
4  2021-01-05     25
5  2021-01-06     59
8  2021-01-09     32
9  2021-01-10     44
12 2021-01-13     22
13 2021-01-14      6

>>> out[1]
         date  value
2  2021-01-03     36
3  2021-01-04     97
6  2021-01-07     10
7  2021-01-08     57
10 2021-01-11     31
11 2021-01-12     28