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