【发布时间】:2019-02-23 11:16:05
【问题描述】:
我有一个问题,我似乎无法理解。
df1如下:
Group item Quarter price quantity
1 A 2017Q3 0.10 1000
1 A 2017Q4 0.11 1000
1 A 2018Q1 0.11 1000
1 A 2018Q2 0.12 1000
1 A 2018Q3 0.11 1000
所需的结果是一个新的数据框,称为 df2 并带有一个附加列。
Group item Quarter price quantity savings/lost
1 A 2017Q3 0.10 1000 0.00
1 A 2017Q4 0.11 1000 0.00
1 A 2018Q1 0.11 1000 0.00
1 A 2018Q2 0.12 1000 0.00
1 A 2018Q3 0.11 1000 10.00
1 A 2018Q4 0.13 1000 -20.00
基本上,我想走下每一行,查看季度并找到去年的类似季度并进行计算(本季度价格 - 上季度价格 * 数量)。如果没有上一季度的数据,就在最后一列。
为了完成图片,那里有更多的组和项目,甚至更多的季度,如 2016Q1、2017Q1、2018Q1,尽管我只需要比较前一年。季度是字符串格式。
【问题讨论】:
-
查看pandas.Period 了解更多信息。在YearWithQuarter 也有与之相关的讨论。我希望这会对你有所帮助。
-
似乎遍历行是唯一的解决方案,对吧?抱歉,由于我对 pandas 的使用非常简单,所以我无法理解。就像取一整列并乘以另一列来创建一个新列。
标签: pandas