熊猫:基于多个列在时间序列上创建事件计数器

时间:2018-12-13 12:38:35

标签: python pandas

我需要在我的熊猫DataFrame上创建一个新系列,以计算另一个值的切换次数。 这里是一个例子:

enter image description here

我需要一个函数来计算列new_counter。 DataFrame按foodate排序。当变量foo或变量baz更改时,计数器增加。

1 个答案:

答案 0 :(得分:3)

为连续计数器创建助手Series,然后将其与GroupBy.ngroup传递给groupby

s = df['baz'].ne(df['baz'].shift()).cumsum()
df['counter'] = df.groupby(['foo', s]).ngroup() + 1