我需要将CSV导入panda数据集。CSV具有仅具有一天中的时间的列,例如;16:45";在分钟级别上;21:03:39";秒级别。使用read_cvs和对列使用parse_dates导入它不会保持原样,它会将其转换为";2022/10/07 16:45";或";2022/10/07 21:03:39";对于第二个例子。如何导入它并将类型设置为"时间"而不添加日期?
这样的东西怎么样?
import datetime as dt
import pandas as pd
df = pd.DataFrame([[1, '16:45'],
[2, '21:03:39']], columns=['x1', 'time_string'])
df['time'] = pd.to_datetime(df['time_string']).apply(lambda t: dt.time(t.hour, t.minute, t.second))
# Output these to show it works
df.head()
df['time'].apply(lambda x: type(x))
返回此:
x1 time_string time
0 1 16:45 16:45:00
1 2 21:03:39 21:03:39
0 <class 'datetime.time'>
1 <class 'datetime.time'>
Name: time, dtype: object