Pandas:如何计算每组的累计和


您可以使用以下语法来计算 pandas 中每组的累积和:

 df[' cumsum_col '] = df. groupby ([' col1 '])[' col2 ']. cumsum ()

此特定公式计算按col1分组的col2的累积和,并将结果显示在标题为cumsum_col的新列中。

以下示例展示了如何在实践中使用此语法。

示例:计算 Pandas 中每组的累积和

假设我们有以下 pandas DataFrame,其中包含各个商店的销售信息:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' sales ': [4, 7, 10, 5, 8, 9, 12, 15, 10, 8]})

#view DataFrame
print (df)

  blind sales
0 to 4
1 to 7
2 to 10
3 to 5
4 to 8
5 B 9
6 B 12
7 B 15
8 B 10
9 B 8

我们可以使用以下语法来计算每个商店的销售额累计总和:

 #add column that shows cumulative sum of sales by store
df[' cumsum_sales '] = df. groupby ([' store '])[' sales ']. cumsum ()

#view updated DataFrame
print (df)

  store sales cumsum_sales
0 to 4 4
1 to 7 11
2 to 10 21
3 to 5 26
4 to 8 34
5 B 9 9
6 B 12 21
7 B 15 36
8 B 10 46
9 B 8 54

cumsum_sales列显示按每个商店分组的累计销售额。

注意:您可以在此处找到 pandas 中cumsum函数的完整文档。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

如何对 Pandas 中的特定列求和
如何根据 Pandas 中的条件对列求和
如何计算pandas中的反向累积和

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注