按日期排序的熊猫未分类数据的累积总和

时间:2020-05-26 10:08:41

标签: python pandas dataframe cumulative-sum

我遇到一种情况,我试图根据多个条件对大型数据集中的值求和。

我设法通过另一个脚本的嵌套循环来实现这一目标,但我希望使用Pandas可能更容易。

我的数据集看起来像这样。

date         regionNo    sales
2020-04-15   1           2
2020-04-14   1           3
2020-04-15   2           3
2020-04-14   2           1

我想添加一列,以指示该区域到该特定日期的累计销售额。

条件将类似于:

salesSum = sum(['sales'] where ['date'] <= "*row date*" and ['region'] == "*row region*")

上述代码的道歉。这是一种python-y伪代码。

问题是我不知道如何在表中引用值。就像excel中的单元格引用一样。

这在大熊猫中有可能吗?

我希望我的数据框看起来像这样:

date         regionNo    sales  salesSum
2020-04-15   1           2      5
2020-04-14   1           3      3
2020-04-15   2           3      4
2020-04-14   2           1      1

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这种回溯通常由窗口函数完成。但是,根据您的情况,您需要依赖date列的值。因此,固定的窗口将不起作用。您可以使用DataFrame.groupby.apply,其中按“ regionNo”分组。请注意,这样做很慢,不建议这样做。但是不幸的是,我不知道实现这种“条件聚合”的任何其他方式。