python - 如何使用 relativedelta 将 DatetimeIndex 移动 x 个月?
问题描述
我的 pandas 数据框中有一个 DatetimeIndex,按季度频率排列,格式化为季度的开头(所以 1 月 1 日、4 月 1 日等等)。我想将其重新格式化为季度末(3 月 31 日、6 月 30 日等)。
我认为最简单的方法是将整个指数移动 3 个月并减去 1 天。减法部分没问题,例如我可以这样做将整个索引向后移动一天
import datetime
from dateutil.relativedelta import *
df.index - datetime.timedelta(days=1)
问题是如何提前3个月。timedelta
在几天和几周内工作,所以不合适。我读到relativedelta
它就是这样做的,但它只适用于 datetime 对象,而不适用于 datetimeindex。例如,以下作品
df.index[0] + relativedelta(months=+3)
但不是
df.index + relativedelta(months=+3)
我想我可以遍历 df.index 的每个元素,但肯定有一个优雅的解决方案让我无法理解吗?
解决方案
推荐阅读
- php - Beanstalk php 蓝绿部署返回 503
- azure-application-insights - 由于某些故障,Azure Application Insights 不会报告 .NET Framework 应用程序
- c++ - 如何递归计算数组中双数的平均值?
- flutter - Flutter:需要帮助来实现带有图像的卡片
- redis - Redis如何重置缓存命中超时?
- java - 如何在矩阵中找到对象的长度?
- javascript - 将自定义 JavaScript 代码添加到 WordPress 中的 functions.php 文件
- firebase - 如何验证我的 firebase 应用程序是调用我的 API 的应用程序?
- javascript - 传单没有显示地图
- python - 在 conda 环境中使用 python=3.5.9 添加到 anaconda 的哪个通道