为什么不能将日历年正确地分成10天的增量?

问题描述

我有以下代码将日历年分为10天增量,其中前10天增量应为“ 1”,接下来的10天增量应为“ 2”,等等。

由于某种原因,我只有9个“ 1”,而应该有10个。有人可以帮我吗?

from datetime import timedelta,datetime

datetimes = np.arange(
    datetime(2018,1,1),datetime(2019,timedelta(days=1)
    ).astype(datetime)

np.array([datetime.timetuple().tm_yday//10+1 for datetime in datetimes])

解决方法

因为tm_yday1而不是0开头。

如果要从1开始计数,则应使用此选项:

from datetime import timedelta,datetime

datetimes = np.arange(
    datetime(2018,1,1),datetime(2019,timedelta(days=1)
).astype(datetime)

np.array([(datetime_.timetuple().tm_yday - 1)//10+1 for datetime_ in datetimes])