计算运行总计

时间:2017-05-05 19:52:34

标签: python loops pandas count 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来修复第一个值,但使第二个值相对,以便我查找的范围随着行而变化。

  3. 问题是我不确定如何实现这些。有没有人有任何想法,哪些更好,以及如何实施?

1 个答案:

答案 0 :(得分:1)

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

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

+ 1为你的第一次出现而不是0给你一个1,这就是你得到的结果。