【发布时间】:2018-06-26 07:45:30
【问题描述】:
我想将具有以下列经过时间(以毫秒为单位)的数据转换为带有 pandas 的时间序列:
我假设我必须以某种方式将此列转换为时间增量,但我不知道如何。
还有一点:虽然看起来像这样,但我不会假设时间跨度总是等距的。
期待您的帮助。
【问题讨论】:
标签: pandas
我想将具有以下列经过时间(以毫秒为单位)的数据转换为带有 pandas 的时间序列:
我假设我必须以某种方式将此列转换为时间增量,但我不知道如何。
还有一点:虽然看起来像这样,但我不会假设时间跨度总是等距的。
期待您的帮助。
【问题讨论】:
标签: pandas
我觉得你需要to_timedelta:
df = pd.DataFrame({'MILLISEC':[0,33,67,100]})
td = pd.to_timedelta(df['MILLISEC'], unit='ms')
print (td)
0 00:00:00
1 00:00:00.033000
2 00:00:00.067000
3 00:00:00.100000
如果需要时间序列,请将日期时间添加到 timedelatas:
ts = pd.datetime.now() + td
print (ts)
0 2018-01-17 13:27:42.104580
1 2018-01-17 13:27:42.137580
2 2018-01-17 13:27:42.171580
3 2018-01-17 13:27:42.204580
Name: MILLISEC, dtype: datetime64[ns]
ts = pd.datetime(2018,1,1) + td
print (ts)
0 2018-01-01 00:00:00.000
1 2018-01-01 00:00:00.033
2 2018-01-01 00:00:00.067
3 2018-01-01 00:00:00.100
Name: MILLISEC, dtype: datetime64[ns]
【讨论】: