конвертировать pandas datetime64 [нс] в юлианский день - PullRequest
2 голосов
/ 02 мая 2020

Меня смущает количество преобразований типов данных и, казалось бы, очень разных решений, ни одно из которых я не могу заставить работать.

Каков наилучший способ преобразования столбца pandas datetime ( datetime64 [ns] например 2017-01-01 03:15:00) в другой столбец в том же pandas кадре данных, преобразованном в юлианский день, например 2458971.8234259?

Большое спасибо

1 Ответ

1 голос
/ 02 мая 2020

Создать DatetimeIndex и преобразовать в юлианские даты:

df = pd.DataFrame({'dates':['2017-01-01 03:15:00','2017-01-01 03:15:00']})
df['dates'] = pd.to_datetime(df['dates'])

df['jul1'] = pd.DatetimeIndex(df['dates']).to_julian_date()
#if need remove times
df['jul2'] = pd.DatetimeIndex(df['dates']).floor('d').to_julian_date()

print (df)
                dates          jul1       jul2
0 2017-01-01 03:15:00  2.457755e+06  2457754.5
1 2017-01-01 03:15:00  2.457755e+06  2457754.5

Потому что:

df['jul'] = df['dates'].dt.to_julian_date()

AttributeError: у объекта 'DatetimeProperties' нет атрибута 'to_julian_date'

...