我对数据类型转换的数量感到困惑,似乎对此解决方案却千差万别,我都无法使用。
将pandas datetime列(datetime64 [ns]例如2017-01-01 03:15:00)转换为同一pandas数据框中的另一列,并转换为julian day例如2458971.8234259的最佳方法是什么?
非常感谢
答案 0 :(得分:1)
创建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”