我尝试获取各种 Pandas 日期的日增量。但是,对于时间增量> 292年,我获得了负值。例如,

import pandas as pd
dates = pd.Series(pd.date_range('1700-01-01', periods=4500, freq='m'))
days_delta = (dates-dates.min()).astype('timedelta64[D]')

但是,使用DatetimeIndex我可以做到,并且可以按我的意愿工作,
import pandas as pd
import numpy as np
dates = pd.date_range('1700-01-01', periods=4500, freq='m')
days_fun = np.vectorize(lambda x: x.days)
days_delta = days_fun(dates.date - dates.date.min())

那么问题是如何为Series对象获取正确的days_delta?

最佳答案

专门阅读here有关timedelta的限制:



顺便说一句,这与在Pandas的Timestamps上提到的文档所涉及的限制相同:



这表明可以将文档为避免时间戳限制而提出的相同建议应用于时间增量。时间戳限制的解决方案可在docs(here)中找到:

关于python - 日期间隔大于292年的日增量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35814172/

10-14 15:19