我要对大熊猫进行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...
´´´
可以在大熊猫中建造它吗?
答案 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]