Groupby.sum() giving ValueError: overflow in timedelta operation

Groupby.sum() giving ValueError: overflow in timedelta operation

我正在寻找涉及 Timedelta 的转换的解决方案。以下是特征的最小值和最大值:

timeseries['column'].min()
timeseries['column'].max()

给予

Timedelta('0 days 11:05:14')
Timedelta('23743 days 06:25:08')

分别。

如何在保持时间分辨率的同时执行以下操作:

summed = timeseries.groupby('another column')['column1'].sum()

不给

ValueError: overflow in timedelta operation

我发现了类似的问题,但认为它们并没有真正正确地解决问题。这是一个更好的解决方案:

import datetime 

将系列转换为秒:

timeseries['column'] = timeseries['column'].dt.total_seconds()

现在:

summed = timeseries.groupby('another column')['column1'].sum()

转换回时间增量:

summed['column'].fillna(0).apply(lambda x: datetime.timedelta(seconds=x))