截止日期

时间:2020-04-10 14:22:34

标签: python-3.x pandas

我有一年中的某天(例如295)。我想将其转换为10月22日的等效值。 我已经使用了多年,因此每次例行程序达到365或366时,都应更新该年份。 有内置功能吗?

2 个答案:

答案 0 :(得分:1)

我不确定您为什么在评论中提到年份没有更新:

s = pd.Series([1,20,56,290,356,3,5,7,100])
start_year = 2000

# calculate the years
years = s.diff().lt(0).cumsum()+start_year

# final output
pd.to_datetime(years, format='%Y') + pd.to_timedelta(s-1, unit='D')

输出:

0   2000-01-01
1   2000-01-20
2   2000-02-25
3   2000-10-16
4   2000-12-21
5   2001-01-03
6   2001-01-05
7   2001-01-07
8   2001-04-10
dtype: datetime64[ns]

答案 1 :(得分:0)

我认为这就是您想要的:

import datetime
x = datetime.datetime.strptime('2019 110', '%Y %j')
x.strftime('%B %d')

'April 30'