如何在需要扩展标准类(datetime
)的函数中使用 pandas 的 apply
?
具体而言,我想从 https://gist.github.com/treyhunner/6218526 导入 datetime_modulo
。
该代码扩展了标准的 datetime
类,使得可以对 datetime
对象应用模数运算,例如:
from datetime_modulo import datetime
from datetime import timedelta
d = datetime.now()
print d % timedelta(seconds=60)
现在我需要将这个模数操作应用到 pandas DataFrame 的列/序列上,例如:
apply
。df['dates'] = pd.to_datetime(df.index.values)
df['datetime_mod'] = df['dates'].apply(lambda x: x % timedelta(minutes=15))
但是pandas无法检测到扩展的日期时间类(除非我使用不当):
TypeError: unsupported operand type(s) for %: 'Timestamp' and 'datetime.timedelta'
如何继续?