繁体   English   中英

从 Pandas 数据帧和已知时间间隔创建时间序列数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM