我有一个数据集,其中包含“员工姓名”,“日期:开始阅读的日期”,“时间:开始阅读的时间”。我想计算连续行之间的时间差。
我要面对的问题是,我想在特定的一天中花费时间。我不想在两个不同日期的读数之间进行区别。
我已经尝试过了,但是它正在计算两个不同日期之间的时间差。
dataFrame['Time_diff'] = pd.to_timedelta(dataFrame['Time'].astype(str)).diff(+1).dt.total_seconds()
答案 0 :(得分:0)
print (dataFrame)
date Time
0 2019-06-08 12:30:01
1 2019-06-08 13:30:01
2 2019-06-09 14:30:01
3 2019-06-09 16:30:01
dataFrame['Time'] = pd.to_timedelta(dataFrame['Time'].astype(str))
#if necessary
#dataFrame = dataFrame.sort_values(['date','Time'])
dataFrame['Time_diff'] = dataFrame.groupby('date')['Time'].diff().dt.total_seconds()
print (dataFrame)
date Time Time_diff
0 2019-06-08 12:30:01 NaN
1 2019-06-08 13:30:01 3600.0
2 2019-06-09 14:30:01 NaN
3 2019-06-09 16:30:01 7200.0