我对数据类型转换的数量和看似非常不同的解决方案感到困惑,但我都无法使它们工作。
将Pandas日期时间列(datetime64 [ns]例如2017-01-01 03:15:00)转换为相同Pandas数据帧中的另一列的最佳方法是什么,转换为朱利安日(julian day),例如2458971.8234259?
谢谢!
我对数据类型转换的数量和看似非常不同的解决方案感到困惑,但我都无法使它们工作。
将Pandas日期时间列(datetime64 [ns]例如2017-01-01 03:15:00)转换为相同Pandas数据帧中的另一列的最佳方法是什么,转换为朱利安日(julian day),例如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()