3

通过子类化在 pandas 中实现自定义频率后DateOffset,是否可以为该频率“注册”一个偏移别名,以便可以在内置的 pandas 函数中使用别名,例如date_rangeresample

例如,假设我实现了一个自定义的每月两次的频率:

from pandas.tseries.offsets import DateOffset, CacheableOffset

class TwiceMonthly(DateOffset, CacheableOffset):
    def apply(self, other):
        # Some date logic here

    @property
    def rule_code(self):
        return 'TM'

现在,TwiceMonthly()我想使用偏移别名 TM,而不是到处使用。

# Suppose s is a time series
s.resample('TM', how='sum')
4

2 回答 2

0

不幸的是,现在这是不可能的。别名是静态的。不过,这将是一个很好的功能。请在 github (https://github.com/pydata/pandas/issues/2085) 上查看。额外的反馈或 PR 将不胜感激。

于 2012-10-19T17:58:07.757 回答
0

我刚刚遇到了同样的问题,并在此处的 pandas 文档中找到了我的解决方案:https ://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#combining-aliases

如果您记录日期的时间间隔与建议的时间间隔不同,则可以在 Pandas 中组合别名。

于 2020-06-24T10:49:59.757 回答