Groupby.sum()给出了ValueError:timedelta操作中的溢出

时间:2017-05-11 20:53:17

标签: pandas group-by sum timedelta

我正在寻找一个涉及Timedeltas的转换解决方案。以下是功能的最小值和最大值:

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

1 个答案:

答案 0 :(得分:0)

我发现了类似的问题,但并不认为他们确实能够正确解决问题。这是一个更好的解决方案:

import datetime 

将系列转换为秒:

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

现在:

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

转换回timedelta:

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