У меня есть следующий метод, который я использую в этом сообществе для преобразования даты и времени в юлианский:
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
Как я могу преобразовать эточтобы получить новый столбец с юлианским форматом на основе метода, созданного выше?
Спасибо!