我已经收到了累积数字的数据。有没有一种聪明的方法来消除数据的累积,这样我就可以逐月把数据存储起来,而不是把它们叠加在一起?在
(请在此处查看示例xlsx:https://docs.google.com/spreadsheets/d/1yELrJdZmi3CFJccYSi5U6GGDW-Awp5spHDnsDyshBe0/edit?usp=sharing。)
输入示例:
Date SalesRep itemA itemB
01-01-2018 Jakob 5 10
01-01-2018 Adomas 10 20
01-01-2018 Thomas 15 30
01-02-2018 Jakob 50 30
01-02-2018 Adomas 100 40
01-02-2018 Thomas 150 65
期望输出:
^{pr2}$谨致问候
普氏定律
p.S.更新
如果数据不是每个月都在增加,那情况如何?在
输入示例:
Date SalesRep itemA itemB
01-01-2018 Jakob 5 10
01-01-2018 Adomas 10 20
01-01-2018 Thomas 15 30
**01-02-2018 Jakob 50 30**
01-02-2018 Adomas 100 40
01-02-2018 Thomas 150 65
**01-03-2018 Jakob 50 30**
01-03-2018 Adomas 102 60
01-03-2018 Thomas 155 75
如果Jakob没有每月递增,那么您的解决方案就不起作用了?我能不能指定一些参数来检查它,只有在有变化时才进行减法?在
您可以按销售代表分组,并按行排序。然后将数据集合并到一起。在
这里有一种使用
shift
的不同方法。它实质上是减去前面的数字。它假定数据帧已经处于正确的顺序(如果不是,请先使用DataFrame.sort_values
)。我认为这是更好的,因为它提供了一个到位的一个班轮。在基本上使用}。不幸的是,第一行缺少用于区别的前一行,是
DataFrame.groupby
和{nan
,这需要一些混乱的清理。也许还有更漂亮的方法。在相关问题 更多 >
编程相关推荐