正在计算 运行 总数

Calculating running total

我有数据框 df,我想保留 运行 出现在该数据框的列中的名称总数。我正在尝试计算 运行 总列:

    name    running total
    a            1
    a            2 
    b            1 
    a            3
    c            1
    b            2

我想到了两种方法:

  1. 遍历数据框并使用包含名称和当前计数的单独字典。每次执行循环时,相关名称的当前计数将增加 1,并且该值将被复制到我的数据框中。

  2. 更改数据框中每个值的字段计数。在 excel 中,我将结合使用 countif 和下拉公式 A$1:A1 来固定第一个值,但使第二个值相对,以便我查看的范围随行变化。

问题是我不确定如何实现这些。有没有人知道哪个更可取以及如何实施?

@bunji 是对的。我假设您正在使用 pandas 并且您的数据位于名为 df 的数据框中。要将 运行 总数添加到您的数据框,您可以这样做:

df['running total'] = df.groupby(['name']).cumcount() + 1

+ 1 第一次出现时给你一个 1 而不是 0,否则你会得到这个值。