我想将带有以下经过时间列的数据(以毫秒为单位)转换为带有pandas的时间序列:
我认为我必须以某种方式将此列转换为timedeltas,但我不知道如何。
还有一件事:虽然它看起来像这样,但我不认为时间跨度总是等间隔。
期待一些帮助,请。
答案 0 :(得分:0)
我认为你需要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
如果需要时间序列将timetime添加到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]