根据列矢量化值从熊猫的日志数据中获取累积事件?

我有一个导入到熊猫的日志,如下所示:

data = [['A',1,'a'],['A','b'],['B','c'],2,3,4,['D','d'],'a']]
df = pd.DataFrame(data,columns=['Id','Session','Time','Event'])
df

给出:

        Id  Session Time    Event
    0   A   1       0       a
    1   A   1       1       b
    2   B   1       0       c
    3   B   2       0       b
    4   B   2       1       a
    5   B   2       2       b
    6   B   2       3       b
    7   B   2       4       a
    8   D   1       0       d
    9   D   2       0       d
    10  D   3       0       a

如您所见,每个Id可以有多个Session,分别由TimeEvent描述。我正在尝试获取给定aId导致事件Session的累积事件。使用此示例,我想获得类似以下的输出:

        Id  Session Time    Event   Series_by_a
    0   A   1       0       a       1
    1   B   2       0       b       2
    2   B   2       1       a       2
    3   B   2       0       b       3
    4   B   2       1       a       3
    5   B   2       2       b       3
    6   B   2       3       b       3
    7   B   2       4       a       3
    8   D   3       0       a       4

如您所见,从原始的DataFrame中,我们丢弃了第1行(Event b发生在a之后),第2行(Session 1来自{{1} } B没有Id Event),并且第8和9行(想法相同)。但是,我们发现在a B的Session 2中,Id Event发生了两次,因此新的DataFrame捕获了直到发生a指向并标记它们(在Event列中)。

显而易见的答案是迭代地执行此操作,但是似乎应该有一种使用Series_by_a或类似的矢量化机制来执行此操作的方法,但是如果是这样,我不确定从哪里开始。

zsandy 回答:根据列矢量化值从熊猫的日志数据中获取累积事件?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3169412.html

大家都在问