我试图寻找这一点,很惊讶,我找不到任何东西。我们使用“Julian Day”一词来表示一年中的哪一天(即2月1日是Julian Day 32)。我不知道这是否是一个区域术语,也可能是我找不到任何答案。熊猫日期时间与Julian日
基本上我有两个文件。一个具有年,月,日,小时的标准日期格式。另一个是年,朱连日,小时。我尝试使用pandas DataFrame函数对齐它们,不知道如何处理丢失的月份数据。熊猫是否能够原生转换?
我正在使用python 3.3和最新版本的Pandas。
谢谢!
我试图寻找这一点,很惊讶,我找不到任何东西。我们使用“Julian Day”一词来表示一年中的哪一天(即2月1日是Julian Day 32)。我不知道这是否是一个区域术语,也可能是我找不到任何答案。熊猫日期时间与Julian日
基本上我有两个文件。一个具有年,月,日,小时的标准日期格式。另一个是年,朱连日,小时。我尝试使用pandas DataFrame函数对齐它们,不知道如何处理丢失的月份数据。熊猫是否能够原生转换?
我正在使用python 3.3和最新版本的Pandas。
谢谢!
当您在Julian日期文件中读取,你只需要提供一个自定义的日期解析功能。这里有一个例子:
import datetime
from io import StringIO
import pandas
datafile = StringIO("""\
jday,value
2013-01,1
2013-02,2
2013-100,8
2013-200,9
""")
dateparser = lambda x: datetime.datetime.strptime(x, '%Y-%j')
df = pandas.read_csv(datafile, parse_dates=True, date_parser=dateparser, index_col=[0])
其中给出的df
:
value
jday
2013-01-01 1
2013-01-02 2
2013-04-10 8
2013-07-19 9
我一直this page书签和方便的“非常规”的日期解析需要这样的人。 (我实际上并不认为朱利安的日子很奇怪 - 我们一直在水利建模中使用它们)
尝试dayofyear
。儒略日实际上是一个完全不同的数字仅供参考,请参阅here
In [1]: pd.date_range('20130201',periods=5).dayofyear
Out[1]: array([32, 33, 34, 35, 36], dtype=int32)
我意识到这实际上不是你的问题的答案,而是相反的。 – Jeff