如何使用shift-Python在每两行的时间戳之间进行减法
我想在python中使用date_time进行减法,但是如果移动两行,我不知道函数如何使用shift-Python在每两行的时间戳之间进行减法,python,pandas,dataframe,datetime,timestamp,Python,Pandas,Dataframe,Datetime,Timestamp,我想在python中使用date_time进行减法,但是如果移动两行,我不知道函数 Timestamp 2020-11-26 20:00:00 2020-11-26 21:00:00 2020-11-26 22:00:00 2020-11-26 23:30:00 说明: (2020-11-26 21:00:00) - (2020-11-26 20:00:00) (2020-11-26 23:30:00) - (2020-11-26 22:00:00) 结果必须是: 01:00:00 01:3
Timestamp
2020-11-26 20:00:00
2020-11-26 21:00:00
2020-11-26 22:00:00
2020-11-26 23:30:00
说明:
(2020-11-26 21:00:00) - (2020-11-26 20:00:00)
(2020-11-26 23:30:00) - (2020-11-26 22:00:00)
结果必须是:
01:00:00
01:30:00
IIUC,你想迭代两个块并找出差异,一种方法是:
res = df.groupby(np.arange(len(df)) // 2).diff().dropna()
print(res)
输出
Timestamp
1 0 days 01:00:00
3 0 days 01:30:00
首先,您需要检查这是否为datetime类型。 如果没有,请执行pd.to_datetime() 您的数据帧看起来像:
Timestamps
0 2020-11-29 20:00:00
1 2020-11-29 21:00:00
2 2020-11-29 22:00:00
3 2020-11-29 23:30:00
之后,您可以使用for loop或while,并在其中执行以下操作:
demo.iloc[i+1,0]-demo.iloc[i,0]
df[“Timestamp”].diff().iloc[1::2]
?
demo.iloc[i+1,0]-demo.iloc[i,0]