繁体   English   中英

将熊猫数据框中的初始日期与时间列合并为日期时间

[英]Combine initial date with time column in a pandas dataframe as datetime

我正在读取文本日志文件,该文件的标题中包含年月日,并且每行的时间为小时:分钟:秒。 有点像这样:

Yr=17  Mn= 3 Dy= 3

19:22:59.894       52
19:24:12.130      106
19:24:13.241      107
...

我将日期作为datetime.date对象:例如datetime.date(2017, 3, 3) 我有一系列的时代:

df['Time'] = pd.to_datetime(df['Time strings'], format='%H:%M:%S.%f')

如何将标量日期与时间数组相加?

此外,其中一些日志会超过午夜。 我在想我需要使用numpy.unwrap()类的东西继续到下一个日期,但是我不确定如何使用pandas.datetime

而不是使用的pd.to_datetime时候 ,你可以使用pd.to_timedelta 然后,您可以简单地将该文件的日期时间添加到整个列中,并将其转换为日期时间列。

times = ['4:23:12.12', '11:25:43.23', '14:29:55.42']

df = pd.DataFrame(dict(times=times))

df.times = pd.to_timedelta(df.times)

df
#             times
# 0 04:23:12.120000
# 1 11:25:43.230000
# 2 14:29:55.420000

file_date = datetime.date(2017, 3, 3)

df.times += file_date

df
#                     times
# 0 2017-03-03 04:23:12.120
# 1 2017-03-03 11:25:43.230
# 2 2017-03-03 14:29:55.420

或者,您可以尝试使用parse_dates输入时读取日期/时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM