我有这个数据框。有关许可证使用的信息:
usuario feature fini ffin delta
0 USER-1 PROGRAM-1 2016-06-30 21:03:21 2016-06-30 21:03:34 00:00:13
2 USER-1 PROGRAM-1 2016-06-30 21:09:20 2016-06-30 21:09:32 00:00:12
4 USER-1 PROGRAM-1 2016-06-30 21:14:40 2016-06-30 21:15:34 00:00:54
6 USER-1 PROGRAM-1 2016-06-30 21:16:42 2016-06-30 21:17:24 00:00:42
8 USER-1 PROGRAM-1 2016-06-30 21:18:09 2016-06-30 21:18:21 00:00:12
对不起,西班牙语的领域,但你知道的想法。fini
表示fecha initial(初始日期)和ffin
fecha final(结束日期),正如您猜测的delta是ffin-fini
所以,我想知道在这种情况下,USER-1在他一直工作的程序(program-1)中花费了多少时间。你知道吗
如果我做了一个table['delta'].sum()
我得到了我想要的,它说他用了00:02:13。你知道吗
现在假设我有更多的用户,更多的功能,我想按天(也许是小时)对他们进行分组,看看人们是如何使用他们的许可证的
我试过重新取样,但我真的不明白它是怎么工作的。我看到有一个Grouper函数,但我没有安装它。你知道吗
下一行将帮助您按用户和日期和小时分组(仅供参考)。如果改为使用
df['fini'].dt.hour
,则它会将多天中同一小时的值相加):将此应用于示例的扩展版本:
输出如下:
另外,如果需要,向groupby添加功能也很简单:
输出:
这是按
usuario
和日期对数据进行分组的代码(如fini
中提供的)。如果需要不同的分组方案(例如,基于日期和小时),可以相应地修改:相关问题 更多 >
编程相关推荐