将公历日期转换为朱利安d

2024-09-27 23:27:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的df:

ImageDate   Year   Month   Day
20020506    2002   05      06
20030605    2003   06      05
20040201    2002   02      01

我想添加一个新的列,将日期转换为儒略日期。我很确定我需要模块datetime来完成这项工作,但是我查阅了文档,没有发现任何对我来说显而易见的关于如何做到这一点的东西。在


Tags: 模块文档dfdatetimeyeardaymonth儒略
2条回答

第一个解决方案

以下是我发布的here原始转换算法的python实现:

def gregorian_to_julian(year, month, day):
    i = int((month - 14) / 12)
    jd = day - 32075
    jd += int((1461 * (year + 4800 + i)) / 4)
    jd += int((367 * (month - 2 - (12 * i))) / 12)
    jd -= int((3 * int((year + 4900 + i) / 100)) / 4)
    return jd

例如:

^{pr2}$

第二种解决方案

或者,您可以使用内置的date对象从Gregorian date获取Julian日期,方法是将Gregorian absolute date 0的Julian date(1721425)添加到ordinal date as publishedhere

^{3}$

第二种解决方案更简单,速度更快。在

去看看这个库:https://pypi.python.org/pypi/jdcal

然后做一些类似的事情:

from jdcal import gcal2jd, jd2gcal

gcal2jd(2000,1,1)'

相关问题 更多 >

    热门问题