gpt4 book ai didi

python - 如何从时间戳列生成 TimedeltaIndex,其中每个 TimeDelta 都是引用前一个时间戳生成的

转载 作者:行者123 更新时间:2023-11-30 22:55:44 25 4
gpt4 key购买 nike

我有一个时间戳列表:

Timestamp

2015-10-01 00:00:08
2015-10-01 00:00:18
2015-10-01 00:00:28
2015-10-01 00:00:38
2015-10-01 00:00:48
2015-10-01 00:00:58
2015-10-01 00:01:08
2015-10-01 00:01:17

我想从时间戳生成 TimeDelta,其中每个 TimeDelta 值都引用前一个时间戳,如下所示:

Timestamp                TimeDelta

2015-10-01 00:00:08 00:00:00.000
2015-10-01 00:00:18 00:00:10.000
2015-10-01 00:00:28 00:00:10.000
2015-10-01 00:00:38 00:00:10.000
2015-10-01 00:00:48 00:00:10.000
2015-10-01 00:00:58 00:00:10.000
2015-10-01 00:01:08 00:00:10.000
2015-10-01 00:01:17 00:00:09.000

但我得到的是这个:

Timestamp                TimeDelta

2015-10-01 00:00:08 00:00:00.000
2015-10-01 00:00:18 00:00:10.000
2015-10-01 00:00:28 00:00:20.000
2015-10-01 00:00:38 00:00:30.000
2015-10-01 00:00:48 00:00:40.000
2015-10-01 00:00:58 00:00:50.000
2015-10-01 00:01:08 00:01:00.000
2015-10-01 00:01:17 00:01:09.000

我使用以下代码:

df['TimeDelta'] = pd.TimedeltaIndex(df['Timestamp'])

谢谢!

最佳答案

使用 diff 方法计算相邻行的差异:

df['TimeDelta'] = df['Timestamp'].diff().fillna(0)
<小时/>
import pandas as pd

df = pd.DataFrame({'Timestamp': ['2015-10-01 00:00:08', '2015-10-01 00:00:18',
'2015-10-01 00:00:28', '2015-10-01 00:00:38', '2015-10-01 00:00:48',
'2015-10-01 00:00:58', '2015-10-01 00:01:08', '2015-10-01 00:01:17']})
df['Timestamp'] = pd.to_datetime(df['Timestamp'])
df['TimeDelta'] = df['Timestamp'].diff().fillna(0)
print(df)

产量

            Timestamp  TimeDelta
0 2015-10-01 00:00:08 00:00:00
1 2015-10-01 00:00:18 00:00:10
2 2015-10-01 00:00:28 00:00:10
3 2015-10-01 00:00:38 00:00:10
4 2015-10-01 00:00:48 00:00:10
5 2015-10-01 00:00:58 00:00:10
6 2015-10-01 00:01:08 00:00:10
7 2015-10-01 00:01:17 00:00:09

关于python - 如何从时间戳列生成 TimedeltaIndex,其中每个 TimeDelta 都是引用前一个时间戳生成的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37312997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com