我需要在我的熊猫DataFrame上创建一个新系列,以计算另一个值的切换次数。 这里是一个例子:
我需要一个函数来计算列new_counter
。 DataFrame按foo
和date
排序。当变量foo
或变量baz
更改时,计数器增加。
答案 0 :(得分:3)
为连续计数器创建助手Series
,然后将其与GroupBy.ngroup
传递给groupby
:
s = df['baz'].ne(df['baz'].shift()).cumsum()
df['counter'] = df.groupby(['foo', s]).ngroup() + 1