我从社区中采用以下方法将日期时间转换为朱利安:
def get_julian_datetime(date):
if not isinstance(date, dt.datetime):
raise TypeError('Invalid type for parameter "date" - expecting datetime')
elif date.year < 1801 or date.year > 2099:
raise ValueError('Datetime must be between year 1801 and 2099')
# Perform the calculation
julian_datetime = 367 * date.year - int((7 * (date.year + int((date.month + 9) / 12.0))) / 4.0) + int(
(275 * date.month) / 9.0) + date.day + 1721013.5 + (
date.hour + date.minute / 60.0 + date.second / math.pow(60,
2)) / 24.0 - 0.5 * math.copysign(
1, 100 * date.year + date.month - 190002.5) + 0.5
return julian_datetime
我正在尝试将数据帧中的日期时间转换为朱利安。但是,由于我传递了“ pandas.core.series.Series”类型,因此它返回了第一个异常。
我正在尝试的代码如下:
df[new_datetime] = get_julian_datetime(df['old_datetime'])
它正在返回这个(可以预期的):
TypeError: Invalid type for parameter "date" - expecting datetime
如何根据上面创建的方法转换为Julian格式的新列?
谢谢!