计算不同日期之间的时差

2024-09-29 23:32:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在正在做一个分析应用程序使用情况的代码统计数据数据集如下所示。你知道吗

date         idx   AppName    EventType         EventTime 
2019-10-01  15835  clock    ACTIVITIY_RESUMED   15:30:02
2019-10-01  15836  clock    ACTIVITIY_PAUSED    15:30:15
2019-10-01  15837  gallery  ACTIVITY_RESUMED    15:31:42
.
. 

2019-10-02  16133  clock    ACTIVITY_RESUMED    16:40:30    

对于每个应用程序的使用,我的代码如下,这是很好的工作。 但是,这将给出总使用时间,该时间涵盖几天。我想每天计算使用次数。提前谢谢!你知道吗

    app_names = df.AppName.unique()
    app_names = df.AppName.value_counts()
    app_usage_time = {}

for app in app_names: #
    app_resumed = False
    app_period = 0
    app_tmp_start = None
    for i, (index, data) in enumerate(df.iterrows()):
        if data.AppName == app: 
            if data.EventType == 'ACTIVITIY_RESUMED': 
                app_resumed = True
                app_tmp_start = data.datetime.timestamp()
            if (data.EventType == 'ACTIVITIY_PAUSED') and (app_tmp_start is not None):
                app_resumed = False
                app_period += data.datetime.timestamp() - app_tmp_start
                app_tmp_start = None

    app_usage_time[app] = app_period

Tags: noneappdfdataifnamesstarttmp
1条回答
网友
1楼 · 发布于 2024-09-29 23:32:13

您可以对datetime对象同时使用加法和减法,如herehere所示。你知道吗

对于逐日评估,您可能需要首先按日期拆分列表,然后计算所有单个活动的总和,每个活动的总和由结束时间和开始时间之差给出。你知道吗

This discussionthis discussion也可以帮助你。你知道吗

相关问题 更多 >

    热门问题