【发布时间】:2024-04-30 03:20:02
【问题描述】:
我有一个时间列作为字符串的数据框,我应该只使用 h:m:sec.ms 将其转换为时间戳。举个例子:
import pandas as pd
df=pd.DataFrame({'time': ['02:21:18.110']})
df.time= pd.to_datetime(df.time , format="%H:%M:%S.%f")
df # I get 1900-01-01 02:21:18.110
没有格式标志,我得到当前日期 2020-12-16。如果没有似乎总是包含的年月日,我如何才能获得邮票。谢谢!
【问题讨论】:
-
pandas 不单独处理日期和时间。您要么有一个默认日期(如果没有提供日期),要么有一个默认时间(如果没有提供时间)。剥离两者之一(例如 with
.dt.time)将为您留下一列数据类型对象而不是 datetime64。 -
好点!那么没有办法只获得时间部分作为日期时间类型吗? (见下方答案)
-
数据类型对象在此上下文中表示
datetime.time对象(检查type(df.time.iloc[0])以获得给定的答案)。那是 Python 的标准库日期时间,这意味着你不能使用 pandas 的dt accessor。