我很难在熊猫数据框中以日期时间格式转换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”时出错
答案 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”将一直解析到纳秒。