[英]Creating time series data from pandas dataframe and known time interval
此数据没有日期时间或其他有用的列,如其他问题地址。
我有一个没有日期信息的熊猫数据框(或单个系列)返回,如下所示:
[10:1]
0 2.264555
1 3.555655
2 4.023047
3 3.500272
4 3.033678
.. ...
152 3.808607
153 4.222035
154 5.205624
155 5.025041
156 5.711009
我所拥有的是开始时间和每行之间的时间间隔。
基本上开始时间:2020-02-19T02:54:29.000Z和时间间隔:“0.05”(5秒)
我怎样才能创建像 [[datetime, value], [datetime, value]] 这样的 x,y 样式格式?
在这种情况下,您通常会与我的想法相反,并首先将计算出的日期时间作为列注入数据框中?
您可以像这样创建时间戳:
from datetime import datetime, timedelta
date_list = [str(datetime(2010, 2, 19, 2, 54, 29).strftime('%Y-%m-%d %H:%M:%S Z')) + str(timedelta(seconds=5*x)) for x in range(0, len(df))]
结果:
['2010-02-19 02:54:29 Z0:00:00',
'2010-02-19 02:54:29 Z0:00:05',
'2010-02-19 02:54:29 Z0:00:10',
'2010-02-19 02:54:29 Z0:00:15',
'2010-02-19 02:54:29 Z0:00:20',
'2010-02-19 02:54:29 Z0:00:25',
.
.
.
]
然后
df.insert(0, 'TimeStamp', date_list)
创建具有固定时间间隔的日期时间列:
import datetime
starting_time = datetime.datetime(2020,2,19,2,54,29)
td = 5 # timedelta
df['datetime'] = [starting_time + datetime.timedelta(seconds=i*td) for i in range(len(df))]
然后您可以应用它来将您的值转换为列表:
list(zip(df['datetime'], df['Column']))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.