通过在熊猫 DF 上具有步距的窗口进行索引

Posted

技术标签:

【中文标题】通过在熊猫 DF 上具有步距的窗口进行索引【英文标题】:indexing by windows with step gap over a pandas DF 【发布时间】:2021-11-27 22:34:59 【问题描述】:

我的 df 是日期戳索引。 我需要将其拆分为两个不同的 df 固定窗口(例如 2 天),如下所示:

df1 = 黄色和 df2 白色

非常感谢您的帮助

【问题讨论】:

如果您没有范围索引,您可以在我的答案代码中将df.index 替换为range(len(df)) 【参考方案1】:

假设以下示例输入:

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

【讨论】:

以上是关于通过在熊猫 DF 上具有步距的窗口进行索引的主要内容,如果未能解决你的问题,请参考以下文章