将 pandas datetime64[ns] 转换为儒略日

convert pandas datetime64[ns] to julian day

我对数据类型转换的数量和看似非常不同的解决方案感到困惑,none 我可以开始工作。

将 pandas 日期时间列(datetime64[ns] 例如 2017-01-01 03:15:00)转换为同一 pandas 数据帧中的另一列的最佳方法是什么,转换为儒略日,例如 2458971.8234259?

非常感谢

创建 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' object has no attribute 'to_julian_date'