首页 > 解决方案 > 如何使用移位在时间戳两行之间进行减法 - Pandas Python

问题描述

我想在 pandas 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:30:00

标签: pythonpandasdataframedatetimetimestamp

解决方案


首先,您需要检查这是否为日期时间类型。如果没有,请执行 pd.to_datetime()

demo = pd.DataFrame(columns=['Timestamps'])
demotime = ['20:00:00','21:00:00','22:00:00','23:30:00']
demo['Timestamps'] = demotime
demo['Timestamps'] = pd.to_datetime(demo['Timestamps'])

您的数据框如下所示:

    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 循环或 while 并在其中执行以下操作:

demo.iloc[i+1,0]-demo.iloc[i,0]

推荐阅读