如何计算pandas中的反向累积和


cumsum()函数可用于计算 pandas DataFrame 的列中值的累积和。

您可以使用以下语法来计算列中值的反向累积和

 df[' cumsum_reverse '] = df. loc [:: -1 , ' my_column ']. cumsum ()[:: -1 ]

这种特殊的语法将一个名为cumsum_reverse的新列添加到 pandas DataFrame 中,该列显示标记为my_column的列中值的反向累积和。

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

示例:计算 pandas 中的反向累积和

假设我们有以下 pandas DataFrame,显示商店连续 10 天的总销售额:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   ' sales ': [3, 6, 0, 2, 4, 1, 0, 1, 4, 7]})

#view DataFrame
df

      day sales
0 1 3
1 2 6
2 3 0
3 4 2
4 5 4
5 6 1
6 7 0
7 8 1
8 9 4
9 10 7

我们可以使用以下语法来计算 sales 列的反向运行总和

 #add new column that shows reverse cumulative sum of sales
df[' cumsum_reverse_sales '] = df. loc [:: -1 , ' sales ']. cumsum ()[:: -1 ]

#view updated DataFrame
df

day sales cumsum_reverse_sales
0 1 3 28
1 2 6 25
2 3 0 19
3 4 2 19
4 5 4 17
5 6 1 13
6 7 0 12
7 8 1 12
8 9 4 11
9 10 7 7

标题为cumsum_reverse_sales的新列显示最后一行的累计销售额。

以下是我们如何解释cumsum_reverse_sales列中的值:

  • 第 10 天的累计销售额为7
  • 第 10 天和第 9 天的销售额累计总和为11
  • 第 10 天、第 9 天和第 8 天的销售额累计总和为12
  • 第 10 天、第 9 天、第 8 天和第 7 天的销售额累计总和为12

等等。

其他资源

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

如何对 Pandas 中的特定列求和
如何在 Pandas 中执行 GroupBy 求和
如何根据 Pandas 中的条件对列求和

添加评论

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