从 pd.date_range() 创建数组

creating an array from a pd.date_range()

提问人:Sofia 提问时间:9/21/2023 更新时间:9/21/2023 访问量:34

问:

我在尝试获取此数组时遇到错误(从一年中的每个月开始都过去了几天)

array([  1,  32,  60,  91, 121, 152, 182, 213, 244, 274, 305, 335])

如何从下面的代码或其他代码建议中获取所需的数组?

xticks = (pd.date_range('1/1/2015','31/12/2015', freq = 'M') - 1 + pd.Timedelta('1D')).strftime('%-j').astype(int)


TypeError: Addition/subtraction of integers and integer-arrays with DatetimeArray is no longer supported.  Instead of adding/subtracting `n`, use `n * obj.freq`
python 数组 pandas date dtype

评论


答:

2赞 Shubham Sharma 9/21/2023 #1

通过将频率指定为 (Month-Start) 来创建日期范围MS

pd.date_range('1/1/2015', '31/12/2015', freq='MS').dayofyear.to_numpy()

array([  1,  32,  60,  91, 121, 152, 182, 213, 244, 274, 305, 335],
      dtype=int32)