【发布时间】:2018-07-13 04:01:50
【问题描述】:
我有一个时间序列数据,我想根据时间和另一个类别值找到某个事件的序列。
例子: 时间事件类别序列 1 一个 1 1 2 一个 1 2 3 乙 1 1 4 乙 2 1 5 C 1 1 6 一个 1 1我搜索并发现我可以使用 groupby 和 cumcount() 来执行此操作,但我无法在上面的示例中实现时间 1 和时间 6 的序列(同类别和不同时间的事件 A 应该有一个新的序列号,我的代码继续序列并输出为 3)
df['sequence']=df.groupby('Event').cumcount() + 1
相关问题:
【问题讨论】:
-
按
'Event'分组和累积计数应该将[1, 2, 1, 2, 1, 3]作为您的新sequence列。如果这不是您所期望的,您还期望什么? -
我需要按事件、类别和时间对序列进行分组。例如 - 对于事件 A,类别 1,时间 1 和 2 的顺序分别为 1 和 2。并且在时间 6 下一次出现的 A1 应该又是 1。同样对于事件 B,类别 1 和 2 在时间 3 和 4 都应该是 1。我希望我的解释现在很清楚。提前致谢
-
感谢您指出这一点。您的问题与此有关:stackoverflow.com/questions/25119524/… 但由于您要求多列案例,我将为此添加答案。
标签: python pandas sequence pandas-groupby