将Pandas的datetime64[ns]格式转换为儒略日

4

我对数据类型转换的数量和看似非常不同的解决方案感到困惑,但我都无法使它们工作。

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

谢谢!

1个回答

2
创建 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()

属性错误:'DatetimeProperties'对象没有'to_julian_date'属性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接