从年份和儒略日在 pandas 中创建日期时间 [英] Creating datetime in pandas from year and julian day
本文介绍了从年份和儒略日在 pandas 中创建日期时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
ad_name adl_name year JD
0 united_states_of_america colorado 2000 1
1 united_states_of_america colorado 2000 2
2 united_states_of_america colorado 2000 3
3 united_states_of_america colorado 2000 4
4 united_states_of_america colorado 2000 5
如何使用 year
和 JD
(儒略日)列添加日期时间列?我试图使用:
how do I add a datetime column using the year
and JD
(julian day) columns? I was trying to use:
pd.to_datetime(df, format='%Y_%d')
,但这不起作用
推荐答案
You need add to year
column JD
转换 to_timedelta
:
You need add to year
column JD
converted to_timedelta
:
df['date'] = pd.to_datetime(df.year, format='%Y') + pd.to_timedelta(df.JD - 1, unit='d')
print (df)
ad_name adl_name year JD date
0 united_states_of_america colorado 2000 1 2000-01-01
1 united_states_of_america colorado 2000 2 2000-01-02
2 united_states_of_america colorado 2000 3 2000-01-03
3 united_states_of_america colorado 2000 4 2000-01-04
4 united_states_of_america colorado 2000 5 2000-01-05
JD=32
和 JD=366
的示例:
print (df)
ad_name adl_name year JD
0 united_states_of_america colorado 2000 32
1 united_states_of_america colorado 2000 366
df['date'] = pd.to_datetime(df.year, format='%Y') + pd.to_timedelta(df.JD - 1, unit='d')
print (df)
ad_name adl_name year JD date
0 united_states_of_america colorado 2000 32 2000-02-01
1 united_states_of_america colorado 2000 366 2000-12-31
这篇关于从年份和儒略日在 pandas 中创建日期时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文