从0

时间:2019-03-01 06:52:32

标签: python pandas numpy time-series

我正在使用python和pandas。

我在数据框中有一些这种格式的时间序列数据:

    timeStampStart          Measurement
0   2019-02-26 22:47:39.914 810
1   2019-02-26 22:47:40.747 854
2   2019-02-26 22:47:40.743 862

我以这种方式还有其他几个数据集。基本上,我进行了一个实验,该实验会随着时间的推移收集结果,收集timeStampStart和一个值。

现在,我想补偿所有数据,以使第一个结果从0000-00-00 00:00:00开始,随后的结果只是不同-时间戳从时间0重新开始。

    timeStampStart          Measurement
0   0000-00-00 00:00:00.000 810
1   0000-00-00 00:00:00.834 854
2   0000-00-00 00:00:00.830 862

注意:timeStampStart类型为pandas._libs.tslib.Timestamp

我该如何实现?

1 个答案:

答案 0 :(得分:0)

您需要用timedeltas减去timeStampStart列的第一个值,因为不存在带有00:00:00的日期时间:

df['td'] = df['timeStampStart'].sub(df['timeStampStart'].iat[0])
print (df)
           timeStampStart  Measurement              td
0 2019-02-26 22:47:39.914          810        00:00:00
1 2019-02-26 22:47:40.747          854 00:00:00.833000
2 2019-02-26 22:47:40.743          862 00:00:00.829000

print (df.dtypes)
timeStampStart     datetime64[ns]
Measurement                 int64
td                timedelta64[ns]
dtype: object