一个人可以对任意数量的Pandas Timedeltas进行模运算,但是加法会导致不支持的错误。以下示例
<a href="#slide-1" />
产生
import pandas as pd
pd.to_timedelta(7, "s") % 3
pd.to_timedelta(7, "s") + 3
这有更深层的原因吗?
答案 0 :(得分:0)
仅当您显示要使用的日期时间的一部分时,您才能执行此操作, 例如:
time=pd.to_timedelta(7, "s")
print(time)
0 days 00:00:07
print(time.seconds%3)
1
您不能使用其他类型进行划分
答案 1 :(得分:0)
看一下code for the Timedelta object,我们可以看到__mod__
函数只是调用__divmod__
函数,并返回第二个值;如下所示:
def __divmod__(self, other):
# Naive implementation, room for optimization
div = self // other
return div, self - div * other
因此%
可以与可以划分Timedelta
对象的任何对象一起使用-我们可以在同一链接中看到__floordiv__
从实现中接受什么。