通过在熊猫 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 上具有步距的窗口进行索引的主要内容,如果未能解决你的问题,请参考以下文章

熊猫数据框,对滚动窗口中的任何列进行计算

如何按月份和年份输入过滤具有日期时间索引的数据框?熊猫

在熊猫滚动中应用自定义窗口功能

通过某些(索引)参数将值插入熊猫数据框中“适当”位置的最佳方法是啥?

如何在函数中重新索引熊猫数据框?

如何比较两个熊猫数据框并返回将它们相互映射的索引?