在nsanda数据帧中将ns精度的字符串转换为datetime

时间:2016-10-06 13:44:10

标签: python pandas

我很难在熊猫数据框中以日期时间格式转换ns精度的字符串。

我有一个如下数据框:

print df
     Event     Time
0    A         08:00:00.123456789
1    B         08:00:00.234567890
2    C         08:00:00.345678901

我想将Time列从字符串转换为datetime而不会丢失ns精度。 我试过以下:

df['Time'] = pd.to_datetime(df['Time'])

但是当我打印df时,我发现我的精确度只有us

df['Time'] = df['Time'].astype('datetime64[ns]')

但在这里我得到了一个像

这样的错误
  

“解析日期时间字符串”08:00:00.345678901“位置2”时出错

1 个答案:

答案 0 :(得分:1)

以下为我做了诀窍:

>>> df['Time'] = pd.to_datetime(df['Time'], format='%H:%M:%S.%f')
>>> df
  Event                          Time
0     A 1900-01-01 08:00:00.123456789
1     B 1900-01-01 08:00:00.234567890
2     C 1900-01-01 08:00:00.345678901

正如documentation for pd.to_datetime中关于format论证所述:

  

strftime来解析时间,例如“%d /%m /%Y”,请注意“%f”将一直解析到纳秒