当前位置: 首页 > 知识库问答 >
问题:

每日数据,每3天重采样一次,有效计算5天后的数据

南宫俊喆
2023-03-14

考虑DF

tidx = pd.date_range('2012-12-31', periods=11, freq='D')
df = pd.DataFrame(dict(A=np.arange(len(tidx))), tidx)
df

我想计算一个尾随5天的总和,每3天。

我期待着像这样的东西

来自评论

  • 我想要一个解决方案,泛化处理一个指定频率的回顾,并抓住任何属于该回顾。
    • 对于上面的示例,回溯是5d,可能有4或50个观察结果属于回溯范围。

共有1个答案

娄浩荡
2023-03-14

你给我们的df是:

             A
2012-12-31   0
2013-01-01   1
2013-01-02   2
2013-01-03   3
2013-01-04   4
2013-01-05   5
2013-01-06   6
2013-01-07   7
2013-01-08   8
2013-01-09   9
2013-01-10  10

您可以创建滚动的5天总和系列,然后重新采样。我想不出比这更有效的办法了。总的来说,这应该是相对高效的。

df.rolling(5,min_periods=5).sum().dropna().resample('3D').first()
Out[36]: 
                 A
2013-01-04 10.0000
2013-01-07 25.0000
2013-01-10 40.0000
 类似资料:
  • Python3 实例 以下代码通过导入 calendar 模块来计算每个月的天数: # Filename : test.py # author by : www.runoob.com import calendar monthRange = calendar.monthrange(2016,9) print(monthRange) 执行以上代码输出结果为: (3, 30) 输出的是一个元

  • 问题内容: 我希望每天使用Redis重置计数器。我是Redis的新手,所以我想确保我充分了解事务和管道的工作方式。 以下代码是否可以确保在多进程环境中工作时,我总是得到一对唯一的(日期,数字),还是需要使用Redis锁? 更新 尝试使用LUA脚本: 问题答案: 考虑在午夜发生两个并发事务。两者都可以执行get(dt_key),但是将首先执行MULTI / EXEC块。它将重置计数器,设置新日期,增

  • 问题内容: 我正在尝试在Pandas DataFrame中每天对一些数据进行重新采样。我是熊猫的新手,也许我需要先格式化日期和时间,然后才能执行此操作,但是我找不到关于如何使用导入的时间序列数据的正确方法的良好教程。我发现的一切都是自动从Yahoo或Quandl导入数据。 这是我的DataFrame中的内容:dataframe 段屏幕截图 这是我用来创建DataFrame的代码: 有人可以帮助我了

  • 问题内容: UILocalNotification已弃用,因此我想将代码更新为UserNotification框架: 等待初始通知后,如何通过UserNotification框架设置类似的每日或每小时重复? 问题答案: 似乎不支持此操作,但可以使用以下解决方法: 与didReceive(_:withContentHandler :) 结合使用,您可以使用: 我知道这不是最佳方法,但它应该在不使用不

  • 问题内容: 如果您提供的在你上一个月的最后一天: 在mozilla上有对此行为的引用。这是可靠的跨浏览器功能还是我应该考虑替代方法? 问题答案: var month = 0; // January var d = new Date(2008, month + 1, 0); alert(d); // last day in January 输出差异是由于实现方式的差异,而不是日期不同。 当然,仅因为

  • 我的数据如下: 我想计算每个组每年日期之间的平均天数。我尝试了以下代码,但收到以下错误: 我的日期列的类别是日期。