Python-按类别计算2天之间的内部日期差异

时间:2019-01-08 08:59:13

标签: python datetime

我想以日期时间格式计算两个日期之间的日内差异。现在,除此以外,我还需要按类别对日内差异进行分组和计算。时间增量为1天,例如前一天。从02.01.2019到01.01.2019。

首先,我尝试了一种手动方法,该方法可行,但现在需要自动化。我创建了一个字典,该字典是按日期划分的数据帧的集合。

#Manual approach
delta_list = []
def intraday_by_category_fixed_dates(category_column, category, date_column):
    test_1 = df[(df[category_column] == category) & (df[date_column] == 'date')]
    test_2 = df[(df[category_column] == category) & (df[date_column] == 'date')]
    test_3 = df[(df[category_column] == category) & (df[date_column] == 'date')]

    delta_list.append((test_2.fileCat.iloc[1] ,test_1.dateCreated.iloc[1], test_2.dateCreated.iloc[1],(test_2.avg_datetimes.iloc[1] - test_1.avg_datetimes.iloc[1]).total_seconds()))
    delta_list.append((test_3.fileCat.iloc[1] ,test_2.dateCreated.iloc[1], test_3.dateCreated.iloc[1],(test_3.avg_datetimes.iloc[1] - test_2.avg_datetimes.iloc[1]).total_seconds()))

    del test_1 ,test_2 ,test_3
    return delta_list


#Automated approach not finished yet
unique_dates = []
for i in df['date_created'].map(lambda t: t.date()).unique():
    unique_dates.append(str(i)) #fetches the unique dates from the df

x = {}
for i in unique_dates:
    x[i] = df[(df['Category'] == 'Some Category1') & (df['date_created'] == i)] #created the dictionary 

输出应为一个数组,该数组计算两个连续日期之间的平均日期时间之间的时间差。例如。与01.01.2019相比,2019年1月1日的``Some Category1''延迟了3分钟。所有日期和类别均应复制。

0 个答案:

没有答案