【问题标题】:Pandas: Create event counter on a time series, based on multiple columnsPandas:基于多列在时间序列上创建事件计数器
【发布时间】:2018-12-13 20:48:40
【问题描述】:

我需要在我的 pandas DataFrame 上创建一个新系列来计算另一个值的开关次数。 举个例子:

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

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    为连续计数器创建帮助器Series,然后将其传递给groupbyGroupBy.ngroup

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

    【讨论】:

    • 谢谢它有效。你能解释一下 ne() 函数吗?
    • @paolof89 - 它是函数ne 就像!=,最好在这个答案中看到它link 它是如何工作的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多