如何将带有小时/分钟字符串的CSV作为时间戳导入到panda数据集

7vhp5slm  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(102)

我需要导入一个CSV文件到Pandas数据集中。CSV文件中的列只有一天中的时间,例如,一列的分钟级别为“16:45”,另一列的秒级别为“21:03:39”。使用read_cvs和parse_dates将其导入到列中不会保持原样,它会将其转换为“2022/10/07 16:45”或“2022/10/07 21:03:39”(第二个示例)。我如何导入它并将其类型设置为Time而不添加日期?

eoxn13cs

eoxn13cs1#

像这样的东西怎么样?

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

相关问题