熊猫-根据时间频率计数日志数

时间:2020-05-22 01:00:09

标签: python python-3.x pandas dataframe

我要对大熊猫进行comples分析,这基本上是一个挑战。 我需要以分钟为单位计算一次日志的数量。

我下面的数据框带有日志。我定义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分钟到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...

´´´

可以在大熊猫中建造它吗?

1 个答案:

答案 0 :(得分:3)

让我们尝试

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]