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]
这可能是一个简单的答案,但我没有在 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]