Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用shift-Python在每两行的时间戳之间进行减法_Python_Pandas_Dataframe_Datetime_Timestamp - Fatal编程技术网

如何使用shift-Python在每两行的时间戳之间进行减法

如何使用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

我想在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

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]