【问题标题】:Pandas - Count numbers of logs based in a time frequencyPandas - 根据时间频率计算日志数量
【发布时间】:2020-05-22 09:07:49
【问题描述】:

我有一个复杂的分析要在 pandas 中执行,它基本是一个挑战。 我需要根据时间频率计算日志的数量(以分钟为单位)。

我有下面的数据框和日志。我定义频率 os 分析将是 00:05:00 分钟。

´´´

user_id data       time_log_in_hours
user1  24/03/2020  00:01:00
user1  24/03/2020  00:07:00
user1  24/03/2020  00:11:00
user2  24/03/2020  00:25:00
user2  24/03/2020  00:27:00
user2  24/03/2020  00:27:00
user3  25/03/2020  01:36:00
user3  25/03/2020  01:37:00
user3  25/03/2020  01:38:00

´´´

预期结果是低于应按确定频率计算日志数量的数据帧。 我会考虑在间隔 5 分钟之间的愤怒时间。 在这种情况下,所有 24 小时内可用的时间都需要在标题中分开以定义 5 分钟的范围。

´´´

User   date       00:05:00 00:10:00 00:15:00 00:25:00 00:30:00...01:35:00 01:40:00...
user1  24/03/2020 1        1        1        0        0       ...0        0...
user2  24/03/2020 0        0        0        1        2       ...0        0...
user3  25/03/2020 0        0        0        0        0       ...0        3...

´´´

是否可以在 pandas 中构建它?

【问题讨论】:

    标签: python python-3.x pandas dataframe


    【解决方案1】:

    让我们试试

    s=df.groupby([df['user_id'],df['data'],df['time_log_in_hours'].dt.ceil('5 min')]).size().unstack(fill_value=0).reset_index()
    time_log_in_hours user_id        data  ...  0 days 00:30:00  0 days 01:40:00
    0                   user1  24/03/2020  ...                0                0
    1                   user2  24/03/2020  ...                2                0
    2                   user3  25/03/2020  ...                0                3
    [3 rows x 8 columns]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-16
      • 2018-03-13
      • 2017-04-19
      • 2015-02-06
      • 2021-08-07
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多