我想不出用一句话问这个问题的好方法,所以我会告诉大家我想做什么
假设我有一个表,其中每一行都是一个事件,由经历图书租赁过程的人触发。我们有两个事件,basket(包含他们想要的书籍)和checkout(当checkout成功并且书籍被租用时触发)。我想按名称分组,但也要按结帐事件和之前的每个篮子事件分组。下面是一个分组在name=“tim”上的示例组
|-------------------------------------------------|
| time | name | stage | payload |
|-------------------------------------------------|
| 1000 | tim | basket | harrypotter;twilight; |
|-------------------------------------------------|
| 1001 | tim | basket | harrypotter; |
|-------------------------------------------------|
| 1002 | tim | checkout | Order# 123456789 |
|-------------------------------------------------|
| 1003 | tim | basket | pandasfordummies; |
|-------------------------------------------------|
| 1004 | tim | checkout | Order# 145246263 |
|-------------------------------------------------|
我的问题是如何分组,以便每个组中都有一个签出事件,如下所示:
一阶
|-------------------------------------------------|
| time | name | stage | payload |
|-------------------------------------------------|
| 1000 | tim | basket | harrypotter;twilight; |
|-------------------------------------------------|
| 1001 | tim | basket | harrypotter; |
|-------------------------------------------------|
| 1002 | tim | checkout | Order# 123456789 |
|-------------------------------------------------|
二阶
|-------------------------------------------------|
| time | name | stage | payload |
|-------------------------------------------------|
| 1003 | tim | basket | pandasfordummies; |
|-------------------------------------------------|
| 1004 | tim | checkout | Order# 145246263 |
|-------------------------------------------------|
如果这句话用得太过分,我很抱歉
假设您的表位于pandas数据框中,并且已按时间和名称排序,则可以使用以下代码:
这将在
orders
中创建一个分割数据帧数组,您可以像orders[0]
、orders[1]
等正常访问该数组相关问题 更多 >
编程相关推荐