python中datetimeindex的长度

2024-09-27 21:34:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是找不到答案,我知道熊猫吃这种问题的沙漠。在

我有一个datetime index,想知道它的长度,以年为单位:

idx=pd.date_range('2011-07-03', '2015-07-10')

预期产量:

^{pr2}$

如果我这样做: idx[0]-idx[-1]我在days中得到一个输出,但我喜欢它的年数

抱歉:找不到panads文档


Tags: 答案文档datetimedateindex单位rangedays
3条回答

使用ptpnp.timedelta64

>>> idx.to_series().ptp() / np.timedelta64(1, 'Y')
4.019247486259129

如果您希望它更具体(一直到天)并获得Timedelta对象,请不要分割:

^{pr2}$

如果date_range总是排序的,那么使用to_series和{}会增加不必要的复杂性,并且可以使用@jezrael's answer的一部分

>>> (idx[-1] - idx[0]) / np.timedelta64(1, 'Y')
4.019247486259129

如果不需要100%精度,可以将timedelta转换为天,然后除以365.25精度:

idx=pd.date_range('2011-07-03', '2015-07-10')

print ((idx[-1]-idx[0]).days / 365.25)

4.0191649555099245

但如果需要years和{}s:

^{pr2}$

您还可以使用relativedelta,如下所示:

from dateutil.relativedelta import relativedelta

relativedelta(idx[0], idx[-1]).years

确保最晚的日期是第一个参数。在

相关问题 更多 >

    热门问题