Pandas 带有偏移量索引的单个时间戳

Pandas Single Timestamp with index of offsets

这可能是一个简单的答案,但我没有在 Pandas v0.17.1 文档中看到它。

我有一组数据,其中包括 header 中的开始时间,然后每行数据都有以毫秒为单位的偏移量。

   Time  Input A
0     0   3.3337
1   500   3.3096
2  1001   3.3044
3  1501   3.3630
4  2004   3.2822
5  2504   3.3335

我想用实际时间替换 'Time' 偏移列。

这是我从数据文件 (.xls) 中提取的内容:

>>> pd.to_datetime('Tue Mar 08 11:20:40 EST 2016')
Timestamp('2016-03-08 11:20:40')

我确实尝试使用以下内容:

>>> pd.to_datetime(df['Time'], unit='ms')
0       1970-01-01 00:00:00.000
1       1970-01-01 00:00:00.500
2       1970-01-01 00:00:01.001
3       1970-01-01 00:00:01.501
4       1970-01-01 00:00:02.004

当然,开始日期是错误的。我没有看到任何让我选择开始日期时间的地方。

我想你可以 apply pd.offsets.Milli 和日期时间 d:

print df
   Time  Input A
0     0   3.3337
1   500   3.3096
2  1001   3.3044
3  1501   3.3630
4  2004   3.2822
5  2504   3.3335

d = pd.to_datetime('Tue Mar 08 11:20:40 EST 2016')
print d
2016-03-08 11:20:40

print df['Time'].apply(lambda x: pd.offsets.Milli(x) + d )
0   2016-03-08 11:20:40.000
1   2016-03-08 11:20:40.500
2   2016-03-08 11:20:41.001
3   2016-03-08 11:20:41.501
4   2016-03-08 11:20:42.004
5   2016-03-08 11:20:42.504
Name: Time, dtype: datetime64[ns]