我有以下代码,其中包括两列,其中第一列是过程开始的时间,第二列是过程完成的时间。我通过以下代码将这些列的类型从str更改为数据集。然后,我定义了一个名为“持续时间”的新列,该列显示了开始时间和结束时间之间的差异。
import pandas as pd
dta['Start_Time']=pd.to_datetime(dta['Start_Time'])
dta['Finish_Time']=pd.to_datetime(dta['Finish_Time'])
dta['Duration'] = example_df['Finish_Time']-example_df['Start_Time']
我需要计算完成该过程所需的平均时间。例如,如果我有三个开始日期和结束日期
((2006-06-02 9:10:00 + 00:00- 2006-06-02 9:00:00 + 00:00)+(2006-06-04 9:52:00 + 00: 00-2006-06-04 8:52:00 + 00:00+(2006-06-07 9:02:00 + 00:00-2006-06-07 8:54:00 + 00:00) / 3 = 26分钟。
我尝试了以下代码:
dta['Duration'].mean()
但是,出现以下错误:
没有要聚合的数字类型
任何帮助将不胜感激。
PS:我的数据集中的时间是这样的:2019-06-16 08:14:31 + 00:00
答案 0 :(得分:0)
您可以尝试以下方法:
dta['Duration'] = example_df['Finish_Time']-example_df['Start_Time'].astype('timedelta64[D]')
# D denotes days. Possible values: (‘Y’, ‘M’, ‘W’, ‘D’, ‘days’, ‘day’, ‘hours’, hour’, ‘hr’, ‘h’, ‘m’, ‘minute’, ‘min’, ‘minutes’, ‘T’, ‘S’, ‘seconds’, ‘sec’, ‘second’, ‘ms’, ‘milliseconds’, ‘millisecond’, ‘milli’, ‘millis’, ‘L’, ‘us’, ‘microseconds’, ‘microsecond’, ‘micro’, ‘micros’, ‘U’, ‘ns’, ‘nanoseconds’, ‘nano’, ‘nanos’, ‘nanosecond’, ‘N’)
dta['Duration'].mean()