如何计算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 中的条件对列求和