正在计算 运行 总数
Calculating running total
我有数据框 df,我想保留 运行 出现在该数据框的列中的名称总数。我正在尝试计算 运行 总列:
name running total
a 1
a 2
b 1
a 3
c 1
b 2
我想到了两种方法:
遍历数据框并使用包含名称和当前计数的单独字典。每次执行循环时,相关名称的当前计数将增加 1,并且该值将被复制到我的数据框中。
更改数据框中每个值的字段计数。在 excel 中,我将结合使用 countif 和下拉公式 A$1:A1 来固定第一个值,但使第二个值相对,以便我查看的范围随行变化。
问题是我不确定如何实现这些。有没有人知道哪个更可取以及如何实施?
@bunji 是对的。我假设您正在使用 pandas 并且您的数据位于名为 df
的数据框中。要将 运行 总数添加到您的数据框,您可以这样做:
df['running total'] = df.groupby(['name']).cumcount() + 1
+ 1
第一次出现时给你一个 1 而不是 0,否则你会得到这个值。
我有数据框 df,我想保留 运行 出现在该数据框的列中的名称总数。我正在尝试计算 运行 总列:
name running total
a 1
a 2
b 1
a 3
c 1
b 2
我想到了两种方法:
遍历数据框并使用包含名称和当前计数的单独字典。每次执行循环时,相关名称的当前计数将增加 1,并且该值将被复制到我的数据框中。
更改数据框中每个值的字段计数。在 excel 中,我将结合使用 countif 和下拉公式 A$1:A1 来固定第一个值,但使第二个值相对,以便我查看的范围随行变化。
问题是我不确定如何实现这些。有没有人知道哪个更可取以及如何实施?
@bunji 是对的。我假设您正在使用 pandas 并且您的数据位于名为 df
的数据框中。要将 运行 总数添加到您的数据框,您可以这样做:
df['running total'] = df.groupby(['name']).cumcount() + 1
+ 1
第一次出现时给你一个 1 而不是 0,否则你会得到这个值。